如何在不打印到新行的情况下将输出更新到命令行?

时间:2017-03-08 08:21:35

标签: python python-3.x io command-line-interface

我喜欢做更新进度条和处理文件的实时数量等事情,但我不希望它跨越数百行。

具体来说,我处理了大约6500封电子邮件,需要几分钟时间。我想打印已处理的数量,而不需要6500行。

我在Python 2中看到了一些解决方案,但我还没有能够在Python 3中找到它。

1 个答案:

答案 0 :(得分:1)

您应该使用sys.stdout使用回车'\r'进行打印。这里有一个例子:

import time
import sys

for i in range(100):
    sys.stdout.write(str(i+1) + '%\r')
    sys.stdout.flush()
    time.sleep(0.1)

试一试!