Python中的print函数如何实现进度条效果

   2024-10-06 2710
核心提示:在Python中实现进度条效果可以使用sys和time模块来实现。具体代码如下:import sysimport timedef progress_bar(iterable, total

在Python中实现进度条效果可以使用sys和time模块来实现。具体代码如下:

import sysimport timedef progress_bar(iterable, total=None):    if total is None:        total = len(iterable)    bar_length = 50    start_time = time.time()    for i, item in enumerate(iterable, 1):        progress = i / total        elapsed_time = time.time() - start_time        eta = elapsed_time / progress - elapsed_time        bar = "#" * int(progress * bar_length)        sys.stdout.write(f"\r[{bar:50}] {i}/{total} - {progress*100:.1f}% - ETA: {eta:.2f}s")        sys.stdout.flush()        yield item    sys.stdout.write('\n')# 示例for _ in progress_bar(range(100)):    time.sleep(0.1)

以上代码定义了一个progress_bar函数,接受一个可迭代对象和总数作为参数,然后在循环中打印进度条和相关信息。使用sys.stdout.write函数可以实现在同一行不断更新输出,从而实现进度条效果。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号