0

我有一个制作许多(数十万个)文件的脚本,我想要这样的东西:

from __future__ import print_function

print("Generating...", end = "")
doStuff()
print(" Done")

由于end = "",我希望Generating...在漫长的任务之前出现,并让它在完成时更改Generating... Done。但是,第一个print()在 after 完成之前不会出现doStuff(),就在第二个之前print()。a time.sleep(1)beforedoStuff()没有做任何事情,尽管它无论如何都不是永久的解决方案。

4

2 回答 2

2

您需要sys.stdout定期刷新以显示字符:

import sys

print 'Working',

while working():
    work()

    print '.',

    sys.stdout.flush()

print 'Done'
于 2012-12-12T23:21:28.480 回答
0

您的解释器可能会缓冲输出。运行“python -u yourfile.py”应该可以解决这个问题。

于 2012-12-12T23:22:36.467 回答