首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]揭秘Python程序执行进度的5种实用技巧

发布于 2025-12-05 00:30:12
0
903

在Python编程中,处理耗时操作时,跟踪程序的执行进度是一项非常重要的任务。这不仅有助于用户了解程序的当前状态,还能在出现问题时及时作出响应。以下是五种实用的技巧,可以帮助您在Python程序中实现...

在Python编程中,处理耗时操作时,跟踪程序的执行进度是一项非常重要的任务。这不仅有助于用户了解程序的当前状态,还能在出现问题时及时作出响应。以下是五种实用的技巧,可以帮助您在Python程序中实现和优化执行进度的跟踪。

1. 使用tqdm

tqdm是一个快速、可扩展的Python进度条库,用于增强for循环和其他迭代器的输出。它可以在终端中显示基础的进度条,也可以在Jupyter笔记本中生成更加美观的网页交互部件形式的进度条。

安装tqdm

pip install tqdm

使用tqdm

以下是一个简单的例子,展示了如何使用tqdm来显示循环的进度:

import tqdm
for i in tqdm.tqdm(range(100)): # 模拟耗时操作 time.sleep(0.1)

2. 利用time模块

Python的time模块可以用来测量时间,帮助您在程序中添加简单的进度报告。

使用time模块

import time
start_time = time.time()
for i in range(100): # 模拟耗时操作 time.sleep(0.1) print(f"执行进度: {i+1}/100")
end_time = time.time()
print(f"总耗时: {end_time - start_time}秒")

3. 自定义进度条类

当需要更高级的进度条功能时,可以自定义一个进度条类来满足特定需求。

创建自定义进度条类

class ShowProcess: def __init__(self, max_steps): self.max_steps = max_steps self.current = 0 def show(self, i=None): if i is not None: self.current = i else: self.current += 1 percent = 100.0 * self.current / self.max_steps bar = '█' * int(percent / 2) bar += '-' * (50 - int(percent / 2)) sys.stdout.write(f'\r|{bar}| {percent:.2f}%') sys.stdout.flush()
# 使用自定义进度条
for i in range(100): # 模拟耗时操作 time.sleep(0.1) process = ShowProcess(100) process.show(i)

4. 使用multiprocessing模块

对于多进程任务,可以使用multiprocessing模块来并行执行,并使用进度条跟踪每个进程的进度。

使用multiprocessingtqdm

from multiprocessing import Pool, cpu_count
from tqdm import tqdm
def task(x): # 模拟耗时操作 time.sleep(0.1) return x
if __name__ == '__main__': with Pool(cpu_count()) as p: results = list(tqdm.tqdm(p.imap_unordered(task, range(100)), total=100))

5. 利用第三方库

除了tqdm,还有其他一些第三方库,如alive-progress,提供了丰富的进度条功能。

使用alive-progress

pip install alive-progress
from alive_progress import alive_bar
for i in alive_bar(range(100)): # 模拟耗时操作 time.sleep(0.1)

通过以上五种技巧,您可以在Python程序中有效地跟踪和显示执行进度,从而提高开发效率和用户体验。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流