分享

Python实实际时显示进度条的六种方法

云技术五哥 发表于 2021-12-29 02:29:01 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 5374
目录


  • 第1种:伟大进度条
  • 第2种:带工夫的伟大进度条
  • 第3种:tqdm库
  • 第4种: alive_progress库
  • 第5种:PySimpleGUI库
  • 第6种:progressbar库
  • 总结
信赖各人对进度条必定没有生疏了,好比正在我们装置python库的时分能够看到下载的进度,别的鄙人载文件时也能够看到相似的进度条,好比下图这类:
web前端-云社区Python实现及时显示进度条的六种方法byun.com(1)
                               
登录/注册后可看年夜图

使用场景:下载文件、使命计时等
今日辰哥便给各人分享Python的6种差别的完成及时显现处置进度的方法,文中每种方法皆附带一个案例,并供给民圆文档,供各人进修,自定义来修正。

第1种:伟大进度条

操纵挨印功用print停止及时革新显现
  1. for i in range(1, 101):
  2.     print("\r", end="")
  3.     print("进度: {}%: ".format(i), "▓" * (i // 2), end="")
  4.     sys.stdout.flush()
  5.     time.sleep(0.05)
复造代码
web前端-云社区Python实现及时显示进度条的六种方法byun.com(2)
                               
登录/注册后可看年夜图


第2种:带工夫的伟大进度条

第2种一样经由过程print停止挨印进度条,不外借参加了time工夫显现,显现进渡过程中所须要的工夫
  1. t = 60
  2. print("**************带工夫的进度条**************")
  3. start = time.perf_counter()
  4. for i in range(t + 1):
  5.     finsh = "▓" * i
  6.     need_do = "-" * (t - i)
  7.     progress = (i / t) * 100
  8.     dur = time.perf_counter() - start
  9.     print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(progress, finsh, need_do, dur), end="")
  10.     time.sleep(0.05)
复造代码
web前端-云社区Python实现及时显示进度条的六种方法byun.com(3)
                               
登录/注册后可看年夜图


第3种:tqdm库

tqdm是特地用于进度条的一个python库,具体的用法能够参考下圆民圆文档
https://pypi.org/project/tqdm/#description
  1. from tqdm import tqdm
  2. for i in tqdm(range(1, 60)):
  3.     """
  4.     代码
  5.     """
  6.     # 假定那代码部门需求0.05s,轮回施行60次
  7.     time.sleep(0.05)
复造代码
web前端-云社区Python实现及时显示进度条的六种方法byun.com(4)
                               
登录/注册后可看年夜图


第4种: alive_progress库

alive_progress是一个静态的及时显现进度条库,具体的用法能够参考下圆民圆文档
https://pypi.org/project/alive-progress/#description
  1. from alive_progress import alive_bar
  2. # 假定需求施行100个使命
  3. with alive_bar(len(range(100))) as bar:
  4.     for item in range(100): # 遍历使命
  5.         bar()  # 显现进度
  6.         """
  7.         代码
  8.         """
  9.         # 假定那代码部门需求0.05s
  10.         time.sleep(0.05)
复造代码
web前端-云社区Python实现及时显示进度条的六种方法byun.com(5)
                               
登录/注册后可看年夜图


第5种:PySimpleGUI库

PySimpleGUI也是一种静态进度条库,该库是自带GUI界里(基于PyQt,Tkinter等),具体的用法能够参考下圆民圆文档
https://pypi.org/project/PySimpleGUI/#description
  1. import PySimpleGUI as sg
  2. count = range(100)
  3. for i, item in enumerate(count):
  4.     sg.one_line_progress_meter('及时进度条', i + 1, len(count), '-key-')
  5.     """
  6.     代码
  7.     """
  8.     # 假定那代码部门需求0.05s
  9.     time.sleep(0.05)
复造代码
web前端-云社区Python实现及时显示进度条的六种方法byun.com(6)
                               
登录/注册后可看年夜图


第6种:progressbar库

https://pypi.org/project/progressbar/#description
  1. import progressbar
  2. p = progressbar.ProgressBar()
  3. # # 假定需求施行100个使命,放到ProgressBar()中
  4. for i in p(range(100)):
  5.     """
  6.     代码
  7.     """
  8.     # 假定那代码部门需求0.05s
  9.     time.sleep(0.05)
复造代码
web前端-云社区Python实现及时显示进度条的六种方法byun.com(7)
                               
登录/注册后可看年夜图


总结

文中引见了那6种完成及时进度条方法,而且皆供给一个案例。关于Python库方法的也附带了民圆文档,便于各人进修。

本篇文章便到那里了,期望可以给您带去赞助,也期望您可以多多存眷剧本之家的更多内乱容
                                                         
       以上所述是云社区专客手艺小编经心给各人收拾整顿的本常识相干引见;期望对亲们进修事情提拔有所协助。                                     若有任何疑问、相干分享交换等,可正在本文章底部留行或批评; 欢送IT手艺妙手亦或菜鸟们各持己见、万马齐喑,让云社区成为IT手艺更好的交换进修仄台;   正在此更万分感激各人对云社区专客网站的撑持!                                                                                                                                                                                                                                                                                            
滥觞:云社区转戴;            免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
回复

使用道具 举报

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

香港云服务器免费试用