无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(python 进度条) Python实现实时显示进度条的六种方法 Python 六种实现实时显示进度条的方法 全网首发(图文详解1)

前沿技术 Micheal 7个月前 (06-05) 90次浏览 已收录 扫描二维码

(python 进度条) Python实现实时显示进度条的六种方法

Python实现实时显示进度条的主要有以下六种方法:

  • 使用for循环 + sys.stdout.write
  • 使用tqdm模块
  • 使用progressbar模块
  • 使用进度条工具 progressbar2模块
  • 使用tkinter创建图形化进度条
  • 使用rich模块的进度条

下面,我将一一进行详细说明:

  • 使用for循环 + sys.stdout.write
import sys
import time

def progress_bar(num, total):
    rate = num / total
    rate_num = int(rate * 100)
    r = '\r[%s%s]%d%%' % ("="*rate_num, " "*(100-rate_num), rate_num, )
    sys.stdout.write(r)
    sys.stdout.flush()

if __name__ == '__main__':
    for i in range(101):
        time.sleep(0.1)
        progress_bar(i, 100)

复制这段代码到你的python文件即可。这段代码创建一个progress_bar函数用于在控制台中实时输出进度条。

  • 使用tqdm模块

这个模块可以直接在控制台显示进度条。

首先,你需要使用pip install tqdm来安装tqdm。

然后可以使用如下代码:

from tqdm import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.01)

正如你所见,使用tqdm模块更简洁方便。

  • 使用progressbar模块

首先你需要通过pip install progressbar来安装progressbar。

然后可以使用如下代码:

import progressbar
import time

bar = progressbar.ProgressBar(max_val=100)
for i in range(101):
    bar.update(i)
    time.sleep(0.02)
  • 使用progressbar2模块

progressbar2模块与progressbar用法类似,只不过在显示方式和一些进阶功能上有所不同。你可以使用pip install progressbar2来安装。

然后可以使用如下代码:

import progressbar
import time

proc_bar = progressbar.ProgressBar()
for i in proc_bar(range(100)):
    time.sleep(0.02)
  • 使用tkinter创建图形化进度条

首先,你需要确保电脑上已经安装了tkinter。

import tkinter
import time

win = tkinter.Tk()
win.title('ProgressBar')
win.geometry('300x100')

progress = tkinter.ttk.Progressbar(win, length=200)
progress.pack(padx=5, pady=20)

for i in range(101):
    progress["value"] = i
    win.update()
    time.sleep(0.02)

win.mainloop()
  • 使用rich模块的进度条

首先你需要通过pip install rich来安装rich。

然后可以使用如下代码:

from rich.progress import Progress
import time

with Progress() as progress:
    task = progress.add_task("[cyan]Processing...", total=100)

    while not progress.finished:
        progress.update(task, advance=0.5)
        time.sleep(0.02)

以上就是Python实现实时显示进度条的六种方法,其中有些需要安装第三方库,缺失的话可以使用pip install 库名的方式进行安装。如果在使用过程中有任何问题,尽情告诉我。
(python查看已安装的库) python查看自己安装的所有库并导出的命令 查看 Python 库:pip list 和 pip freeze 全网首发(图文详解1)
(float division by zero) Python报”ZeroDivisionError “的原因以及解决办法 解决Python ZeroDivisionError的方法 全网首发(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝