如何编辑刚打印的字符串?例如,对于倒数计数器(首先打印30,然后将其更改为29,依此类推)
感谢。
答案 0 :(得分:6)
打印回车\r
,它会将光标移回到行的开头。确保最后不打印换行符\n
,因为您无法回溯行。这意味着您必须执行以下操作:
import time
import sys
sys.stdout.write('29 seconds remaining')
time.sleep(1)
sys.stdout.write('\r28 seconds remaining')
(与使用print
相反,其中 将新行添加到其写入stdout
的内容的末尾。)
答案 1 :(得分:1)
如果您的目标是Unix / Linux,那么“curses”会让编写控制台程序变得非常简单。它处理颜色,光标定位等。查看python包装器: http://docs.python.org/library/curses.html
答案 2 :(得分:0)
如果您使用类似xterm的输出设备,则执行此操作的方法是重写输出。您必须确保在编写数字时以回车符(没有换行符)结束,这会将光标移回行的开头而不会前进到下一行。您编写的下一个输出将替换当前显示的数字。
答案 3 :(得分:0)
您无法更改打印的内容。打印的是什么。但是,就像bradley.ayers说的那样,你可以回到行的开头并在旧值上打印一些新内容。
答案 4 :(得分:0)
您可以使用 readline 模块,该模块还可以提供customized completion和command history。