如何更新数字而不更改行或输出的位置

IT *_*nja 1 python python-2.7

我想更新一个数字而不改变它在程序输出中的位置.我将如何仅使用python 2.7.2标准库中包含的内容来完成此操作?

例如,我想输出如下:

working on: 9

并改为:

working on: 10

不改变它显示的行.我该怎么做呢?我也希望你不要cls用来防止"闪烁".

Sve*_*ach 5

如何执行此操作取决于您的终端类型(可能在您的平台上).在许多平台和终端上工作的简单方法是使用\r字符将光标移回到行的开头:

import time
import sys
for i in range(10):
    print "\rworking on:", i,
    sys.stdout.flush()
    time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

要使该行实际显示,您可能需要调用sys.stdout.flush().