[英]How can I edit a string that was printed to stdout?
如何編輯剛打印的字符串? 例如,對於倒數計數器(首先打印30,然后將其更改為29,依此類推)
謝謝。
打印回車符\\r
它會將光標移回到行的開頭。 確保您不會打印換行符\\n
結尾,因為你不能走回頭路線。 這意味着您必須執行以下操作:
import time
import sys
sys.stdout.write('29 seconds remaining')
time.sleep(1)
sys.stdout.write('\r28 seconds remaining')
(與使用print
相反, print
會在它寫入stdout
的內容中添加換行符。)
如果您的目標是Unix / Linux,那么“curses”會讓編寫控制台程序變得非常容易。 它處理顏色,光標定位等。查看python包裝器: http : //docs.python.org/library/curses.html
如果您使用類似xterm的輸出設備,那么執行此操作的方法是重寫輸出。 您必須確保在編寫數字時以回車符(沒有換行符)結束,這會將光標移回行的開頭而不會前進到下一行。 您編寫的下一個輸出將替換當前顯示的數字。
你不能改變你打印的內容。 打印的是什么。 但是,就像bradley.ayers說的那樣,你可以回到行的開頭並在舊值上打印一些新內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.