在Python开发中,进度条是提高用户体验和可视化操作的重要组成部分。本文将为你介绍热门的Python进度条库tqdm,详细解释常见的使用场景&方法,同时提供代码示例。
tqdm是一个简单易用且功能强大的进度条库。首先,你需要使用以下命令安装它:
pip install tqdm
基本用法:
for item in tqdm(range(10), desc="执行进度", position=0, smoothing=0):
time.sleep(0.1) # 模拟任务执行
执行进度: 40%|██▏ | 4/10 [00:00<00:00, 8.35it/s]
tqdm
库支持的主要参数如下:
iterable
(必需): 要迭代的可迭代对象,例如range
对象、列表、文件对象等。
desc
: 设置进度条前缀的描述文本。
total
: 指定可迭代对象的总数,用于计算进度百分比。
leave
: 控制进度条完成后是否保留在控制台,如果设置为True
,则进度条完成后保留,否则消失。
position
: 指定进度条的位置,可以是整数或者字符串(“t” 表示顶部,“b” 表示底部,或者具体的行数)。
unit
: 指定进度条的单位,例如"item"、"byte"等。
unit_scale
: 控制单位的缩放,设置为True
时,根据进度自动缩放单位。
dynamic_ncols
: 动态调整进度条的宽度。
bar_format
: 自定义进度条的格式,可以包含各种信息,如当前进度、总数、百分比等。
miniters
: 设置最小更新间隔,以防止更新过于频繁。
smoothing
: 设置平滑度,0表示无平滑,1表示完全平滑。
ncols
: 指定进度条的宽度。
ascii
: 设置使用ASCII字符显示进度条。
disable
: 如果设置为True
,则禁用进度条。
initial
: 设置初始值。
file
: 将进度条输出到指定文件,而不是控制台。
lock_args
: 指定用于锁定的参数。
bar_format
: 设置进度条的格式。
这些参数提供了丰富的功能,允许你根据具体需求来定制和优化进度条的外观和行为。
from tqdm import tqdm
import time
file_path = "example.txt"
# 示例:文件读取过程的进度条
with open(file_path, "r") as file:
lines = file.readlines()
for line in tqdm(lines, desc="Reading", unit="line"):
time.sleep(0.1) # 模拟处理每行的时间
from tqdm import tqdm
import time
# 示例:嵌套的进度条
outer_bar = tqdm(total=10, desc="Outer Bar")
for i in range(10):
inner_bar = tqdm(total=5, desc=f"Inner Bar {i}", leave=False)
for j in range(5):
time.sleep(0.1) # 模拟任务执行
inner_bar.update(1)
inner_bar.close()
outer_bar.update(1)
outer_bar.close()
from tqdm import tqdm
import time
# 示例:使用position参数设置进度条位置
for i in tqdm(range(5), desc="Left", position=0):
time.sleep(0.1) # 模拟任务执行
for i in tqdm(range(5), desc="Right", position=12):
time.sleep(0.1) # 模拟任务执行
position的数字12代表,在距离控制台光标所在的起始行往下数,第12行的位置显示进度条。
# 控制括号,修改显示样式
for i in tqdm(range(10), desc="执行进度", bar_format="{l_bar}{bar}| {n_fmt}/{total_fmt} [{elapsed}<{remaining}, {rate_fmt}{postfix}]"):
time.sleep(0.1) # 模拟任务执行
文章内容已同步微信公众号“一个努力奔跑的snail”,获取更多爬虫案例、工具源码,后台回复相关关键词即可获取。