【发布时间】:2021-04-20 17:37:57
【问题描述】:
这段代码演示了一个进度并在同一控制台行打印Done...并退出程序
import time
filename = 'file-name.txt'
for i in range(0, 101):
time.sleep(0.1)
print('Downloading File %s [%d%%]\r'% (filename, i), end="", flush=True)
print('Done...\r\n', end="", flush=True)
问题是程序结束时,在最后一行的末尾有上一行的remnants。下面的输出演示了程序运行时的单行更新。
电流输出(单行更新)
Downloading File file-name.txt [1%]
.
.
Downloading File file-name.txt [100%]
Done...ding File file-name.txt [100%]
预期输出(单行更新)
Downloading File file-name.txt [1%]
.
.
Downloading File file-name.txt [100%]
Done...
在here 中发现了同样的问题,但它并没有解决这个问题。
如果没有前一行的remnant,我怎样才能实现预期输出。
我想添加'\b\b\b\b\b\b\b\b\b\b' 不是很pythonic
【问题讨论】:
-
我似乎误解了你的问题。我将删除我的答案。
-
@GoodDeeds 感谢您的帮助
标签: python-3.x console command-line-interface stdout python-curses