2
我有一个长时间运行的脚本,循环遍历数据库中的行。我经常想要打印它处理的行数,但不会每次都创建一个新行。实际上,这就是我:Python回车不起作用
import sys
mystr = "{} rows complete\r"
for i in range(0, 100):
if i % 10 == 0:
sys.stdout.write(mystr.format(i))
sys.stdout.flush()
当我运行这个(关于Python 2.7.5 64位,Windows)中我得到:
0 rows complete
10 rows complete
20 rows complete
...
100 rows complete
谁能想到,为什么回车ISN”的工作?我在这里看到了一些关于Python和\r
的类似问题,但是所有的答案都表示包含sys.stdout.flush()
,这是我的。
这是在Windows上执行吗? – 2014-10-26 16:11:45
是的,它在Windows上。 – Rob 2014-10-26 16:16:27
适用于Python 2.7.7和3.3(尽管调用'time.sleep()'有助于查看更早的行,区别在于我运行的是32位版本或0.0.2版本差异,或者可能是你如何运行它:你如何运行脚本?我尝试了两个从PowerShell和从cmd.exe,它适用于我的任何方式 – Duncan 2014-10-26 16:47:16