在爬取文件时,想要设置一个进度条来显示百分比,但是直接用print打印的话,会依次打印很多行,直接刷屏了,观感很不好。可以通过下面这个小技巧,达到在一行显示的效果:
import time
print("开始下载")
for i in range(1, 101):
data = "\r{}%".format(i)
print(data, end="")
time.sleep(0.02)
print("\n下载完成")
原理:
在格式化字符串开头加入’\r’,下次再次输出时,会从你当前行的开头位置覆盖写入。
(注:print默认是加了换行的,需要先去掉。)