簡體   English   中英

用python打印以前的打印品嗎?

[英]Printing over previous prints in python?

我正在做一個像菜單一樣的begin的腳本,我想知道是否可以做這樣的事情:

您打開文件,它會打印以下菜單:

LOGO
Welcome to script 11 , what would you like to do?
-write a file
-read a file
-create a file
> #input here

您選擇write(例如),然后在以下菜單上打印:

LOGO
Writing a file!
-Select the path:
> #input here

我在這里先向您的幫助表示感謝。

編輯:我不想完全擦除屏幕(我已經看過其他線程了),但是如果有一種方法可以僅擦除某些行,但是答案告訴我,沒有外部庫是不可能的,所以我將清理所有屏幕並重印一些內容,但感謝所有幫助

如果您使用的是Linux(或OSX),則可以使用curses模塊

如果您使用的是Windows,請使用控制台模塊

如果要顯示多行菜單,並在每個菜單選項后顯示一個全新的菜單,則只有幾種方法可以執行此操作:

  1. 打印每個菜單之前,請先清除屏幕。 SO上大約有69102個有關如何執行此操作的問題。 如何在python中清除屏幕上有許多鏈接。

  2. 打印出一個換頁/頁面進紙。 它不能在許多現代終端(Windows或Unix)上運行,但可以在老式的電傳打字機上使用。

  3. 使用終端控制序列來移動光標。 如果cmd終端啟用了ANSI(我相信它通常不是默認設置),則此方法將在Windows上運行;如果選擇(或查找)正確的終端以發送控制序列,則此方法將在所有其他情況下使用。 您還必須確保覆蓋每個字符 ,而不僅僅是每個 否則,當您覆蓋第2行時,您將得到“正在編寫文件!pt 11,您想要做什么?”。

  4. 使用curses (和您最喜歡的第三方Windows curses端口)或其他一些終端圖形庫可以在更高級別上完成所有這些操作。 (如果存在console則使用console編寫單獨的代碼(對於Windows),否則對其他所有項目進行curses ,這通常是最簡單的方法。)

我建議1或4,但這是您的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM