Python显示循环进度条

在 Python 中,可以使用多种方式显示循环的进度条。以下是几种常见的方法:


1. 使用 tqdm

tqdm 是一个非常流行的库,可以轻松地为循环添加进度条。

安装 tqdm
pip install tqdm
示例代码
from tqdm import tqdm
import time

# 示例:一个耗时循环
for i in tqdm(range(100)):
    time.sleep(0.1)  # 模拟耗时操作
输出效果
100%|████████████████████████████████████████| 100/100 [00:10<00:00,  9.90it/s]

2. 使用 rich

rich 是一个功能强大的库,支持漂亮的进度条和其他丰富的终端输出。

安装 rich
pip install rich
示例代码
from rich.progress import track
import time

# 示例:一个耗时循环
for i in track(range(100)):
    time.sleep(0.1)  # 模拟耗时操作
输出效果
[==================================================] 100%

3. 使用 progressbar2

progressbar2 是另一个用于显示进度条的库,功能丰富且灵活。

安装 progressbar2
pip install progressbar2
示例代码
import progressbar
import time

# 示例:一个耗时循环
bar = progressbar.ProgressBar(max_value=100)
for i in range(100):
    time.sleep(0.1)  # 模拟耗时操作
    bar.update(i + 1)
输出效果
100% (100 of 100) |########################| Elapsed Time: 0:00:10 Time: 0:00:10

4. 手动实现简单的进度条

如果你不想依赖第三方库,可以手动实现一个简单的进度条。

示例代码
import time
import sys

total = 100
for i in range(total):
    time.sleep(0.1)  # 模拟耗时操作
    progress = (i + 1) / total * 100
    sys.stdout.write(f"\rProgress: [{'=' * int(progress // 2):<50}] {progress:.1f}%")
    sys.stdout.flush()
print()  # 换行
输出效果
Progress: [=============================             ] 70.0%

5. 使用 alive-progress

alive-progress 是一个动态且美观的进度条库。

安装 alive-progress
pip install alive-progress
示例代码
from alive_progress import alive_bar
import time

# 示例:一个耗时循环
with alive_bar(100) as bar:
    for i in range(100):
        time.sleep(0.1)  # 模拟耗时操作
        bar()
输出效果
|████████████████████████████████████████| 100/100 [100%] in 10.0s (10.00/s)

6. 使用 IPythonwidgets(适用于 Jupyter Notebook)

如果你在 Jupyter Notebook 中运行代码,可以使用 IPythonwidgets 来显示进度条。

示例代码
from IPython.display import display
import ipywidgets as widgets
import time

progress = widgets.IntProgress(value=0, max=100)
display(progress)

for i in range(100):
    time.sleep(0.1)  # 模拟耗时操作
    progress.value = i + 1
输出效果

在 Jupyter Notebook 中显示一个动态进度条。


总结

  • 推荐使用 tqdm:简单易用,功能强大。
  • 如果需要更丰富的终端输出:可以选择 richalive-progress
  • 手动实现:适合简单的需求,无需安装第三方库。
  • Jupyter Notebook:使用 IPythonwidgets

根据你的需求选择合适的工具即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识的宝藏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值