Python 标准输出回车
我正在对一组文件进行循环处理,为了监控进度,程序会输出当前正在处理的文件名。
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)