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