我想在不更改程序输出中的位置的情况下更新数字。我将如何仅使用python 2.7.2的标准库中包含的内容来完成此操作?
例如,我希望输出如下:
working on: 9
并改为:
working on: 10
不改变显示的行。我该怎么做呢?我还希望您不要使用cls
来阻止"闪烁"。
答案 0 :(得分:5)
如何执行此操作取决于您的终端类型(可能在您的平台上)。在许多平台和终端上运行的简单方法是使用\r
字符将光标移回到行的开头:
import time
import sys
for i in range(10):
print "\rworking on:", i,
sys.stdout.flush()
time.sleep(1)
要实际显示该行,您可能需要调用sys.stdout.flush()
。
答案 1 :(得分:1)
如果不采用某种类型的GUI,没有任何简单的方法可以做到这一点。使用终端创建GUI的标准方法是python的curses模块。有关如何在应用程序中使用curses的说明,请参阅:Curses Programming with Python.