脚本显示进度?

mic*_*ael 10 python progress-bar

当我的python脚本处理一个大文件时,我想向用户显示进度.

'\', "|', '/'在shell中的相同光标位置看到脚本打印以显示进度.

我怎么能在python中做到这一点?

zay*_*tyi 17

你应该使用python-progressbar

它的使用简单如下:

import progressbar as pb

progress = pb.ProgressBar(widgets=_widgets, maxval = 500000).start()
progvar = 0

for i in range(500000):  
    # Your code here
    progress.update(progvar + 1)
    progvar += 1
Run Code Online (Sandbox Code Playgroud)

这将显示一个进度条,如:

Progress: |####################################################            |70%
Run Code Online (Sandbox Code Playgroud)


bar*_*cel 11

一个简单的"无限旋转器"实现:

import time
import itertools

for c in itertools.cycle('/-\|'):
    print(c, end = '\r')
    time.sleep(0.2)
Run Code Online (Sandbox Code Playgroud)


小智 5

对于这种情况,tqdm是一个更强大的工具。它具有更好的特性和可比性。

它易于使用,代码可以很简单:

from tqdm import tqdm
for i in tqdm(range(10000)):
    pass  # or do something else
Run Code Online (Sandbox Code Playgroud)

对于特殊情况,定制也很容易。

这是 repo 中的一个演示: