Python 标准输出回车

4 投票
1 回答
8310 浏览
提问于 2025-04-17 01:14

我正在对一组文件进行循环处理,为了监控进度,程序会输出当前正在处理的文件名。

sys.stdout.write("\rProcessing.... "+ j)
sys.stdout.flush()

这里的 j 是文件名的变量。

脚本的输出结果是...

Processing.... /etc/sysconfig/rhn/sources0.examplewn-slepcsbals-ipv6f

问题是,回车符 "\r" 并没有清除之前的文件名,导致之前的文件名仍然显示在上面。

有没有什么办法可以解决这个问题,让输出看起来更清晰呢?

1 个回答

7

记住这个写好的字符串,然后先写空格。

sys.stdout.write('\r' + (' ' * len(old_string)))
sys.stdout.write('\rProcessing... ' + new_string)

撰写回答