进度条很棒
进度条是流程完成所需时间的直观表示。它们使您不必担心进程是否挂起或尝试预测代码的运行情况。您可以直观地实时看到脚本的进展情况!
如果您以前从未考虑过或使用过进度条,则很容易假设它们会给您的代码增加不必要的复杂性,并且难以维护。事实与事实相去甚远。在仅几行代码中,我们将看到如何在我们的命令行脚本以及PySimpleGUI UI中添加进度条。
使用Progress
第一个要审查的python库是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()
任何效果都去官网去查看文档吧:
pypi:https://pypi.org/project/progress
GitHub: https://github.com/verigak/progress/
使用tqdm
接下来,我们的评论是tqdm库。
适用于Python和CLI的快速,可扩展的进度栏
我们已经看到了与以前的库非常相似的两行内容,我们可以介绍一个progres栏。在设置方面只有一点点差异:
import time
from tqdm import tqdm
mylist = [1,2,3,4,5,6,7,8]
for i in tqdm(mylist):
time.sleep(1)
Github: https://github.com/tqdm/tqdm
使用Alive Progress
顾名思义,该库尝试使进度条生效。它比我们之前看到的进度条多了一些动画。在代码方面,它非常相似:
from alive_progress import alive_bar
import time
mylist = [1,2,3,4,5,6,7,8]
with alive_bar(len(mylist)) as bar:
for i in mylist:
bar()
time.sleep(1)
GitHub: https://github.com/rsalmei/alive-progress
使用PySimpleGUI的图形进度条
按照到目前为止所看到的相同精神,我们可以添加一行代码以在命令行脚本中获得图形化的进度条。
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)
仅需几行代码,您就可以在python脚本中实现进度条!没什么太复杂的,您不必再猜测脚本的运行情况了!
Reference:
https://towardsdatascience.com/learning-to-use-progress-bars-in-python-2dc436de81e5
来源:CSDN
作者:Tong_T
链接:https://blog.csdn.net/Tong_T/article/details/103778221