Python的print函数实现进度条效果的覆盖输出,亲测可用,稳定显示!
想要实现类似于下载进度条的显示功能,但是网上给的方法都不太好用,或者显示不符合期望,或者是无法稳定显示。
自己实现了一下,直接上代码,复制粘贴即可用!
import time
page_num = 1 # 当前已下载数据
total_pages = 755 # 全部需下载数据
for i in range(755):
page_num = i+1
tmp = "█" * int(page_num/total_pages*50) # 下载完成后共显示50个█
# 生成print输出的字符串,显示特定长度,如果修改了上面显示的50个,相应的增加或者减小55即可
temp_txt = "下载中" + tmp + "%*.*s" % (55-len(tmp), 5, str(int(page_num/total_pages*100)).rjust(5)) + "%"
time.sleep(0.01) # 实际运行中不需要sleep,因为程序本身运行就需要时间。
print('\r', end='\r')
print(temp_txt, end='')
最后实现的效果如下: