在写各种爬虫的时候,经常会写上进度条,告诉自己爬虫当前的进度。
当然好看的进度条,不仅会让人一眼就知道任务的进度,还能够让自己的心情愉悦,也是技术实力的展现。
一、普通进度条
- 代码
import sys import time def progress_bar(): for i in range(1, 101): print("\r", end="") print("Download progress: {}%: ".format(i), "▋" * (i // 2), end="") sys.stdout.flush() time.sleep(0.05) if __name__ == '__main__': progress_bar()
- 效果
普通进度条
二、带时间的进度条
- 代码
import time scale = 50 print("执行开始,祈祷不报错".center(scale // 2,"-")) start = time.perf_counter() for i in range(scale + 1): a = "*" * i b = "." * (scale - i) c = (i / scale) * 100 dur = time.perf_counter() - start print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end = "") time.sleep(0.1) print("\n"+"执行结束,万幸".center(scale // 2,"-"))
- 效果
带时间的进度条
三、tpdm进度条
- 代码
from time import sleep from tqdm import tqdm # 这里同样的,tqdm就是这个进度条最常用的一个方法 # 里面存一个可迭代对象 for i in tqdm(range(1, 500)): # 模拟你的任务 sleep(0.01) sleep(0.5)
- 效果
tpdm进度条
四、progress进度条
- 代码
import time from progress.bar import IncrementalBar mylist = [1,2,3,4,5,6,7,8] bar = IncrementalBar('Countdown', max = len(mylist)) for item in mylist: bar.next() time.sleep(1) bar.finish()
- 效果
progress进度条
五、alive_progress进度条
- 代码
from alive_progress import alive_bar # retrieve your set of items items = range(100) # declare your expected total with alive_bar(len(items)) as bar: # iterate as usual for item in items: # process each item bar() time.sleep(0.1)
- 效果
alive_progress进度条
六、可视化进度条
- 代码
import PySimpleGUI as sg import time mylist = [1,2,3,4,5,6,7,8] for i, item in enumerate(mylist): sg.one_line_progress_meter('This is my progress meter!', i+1, len(mylist), '-key-') time.sleep(1)
- 效果
可视化进度条