Python 制作进度条

本文介绍了Python中制作进度条的四种方法,包括使用基本的print函数、progress库、tqdm库和alive-progress库。通过实例展示了如何创建和使用这些库来显示任务的进度,为长运行的程序提供更好的用户体验。详细步骤和代码示例可在文中链接的官方文档查看。
摘要由CSDN通过智能技术生成

看到一个推文:Python制作进度条,原来有这么多方法!

另一位大佬的帖子:Python 实现进度条的六种方式

感觉很有意思!分享给各位!

  • 原文:https://towardsdatascience.com/learning-to-use-progress-bars-in-python-2dc436de81e5

1. 普通进度条

实例

import sys
import time
# 定义函数
def progress_bar():
    for i in range(1, 101):
        print("\r", end="")
        print("Download progress: {}%: ".format(i), " ▋" * (i // 2), end="")
        sys.stdout.flush()
        time.sleep(0.05)

if __name__ == '__main__':
    progress_bar()

结果
在这里插入图片描述

2. progress

  • 官网:https://pypi.org/project/progress/1.5/

安装:

pip install progress==1.5

官网原图
具体详情可前往官网查看详情!

实例

# progress
from progress.bar import IncrementalBar
import time

mylist = [1,2,3,4,5,6,7,8]
bar = IncrementalBar( 'Countdown' , max = len(mylist))
for item in mylist:
  bar.next()
  time.sleep(1)
  bar.finish()

结果
在这里插入图片描述

3. tqdm

  • 官网:https://pypi.org/project/tqdm/
  • doc: https://tqdm.github.io/
# 安装
pip install tqdm

实例

# tqdm
from tqdm import tqdm
import time

text = ""
for char in tqdm(["a", "b", "c", "d","e"]):
    time.sleep(0.25)
    text = text + char
print(text)

结果
结果

4. alive-progress

  • 官网: https://github.com/rsalmei/alive-progress
pip install alive-progress

实例

from alive_progress import alive_bar
import time # Python 内置

mylist = [1,2,3,4,5,6,7,8]
with alive_bar(len(mylist)) as bar:
  for i in mylist:
    bar()
    time.sleep(0.1) # 时间间隔

结果
结果

回答: 在Python中,你可以使用多种方法来实现GUI进度条。一种方法是使用Python的内置模块,比如time模块。你可以使用循环和print语句来显示进度条。下面是一个简单的例子: ```python import sys import time def test_simple(): for i in range(1, 101): print("\r", end="") print(f"当前爬取进度:{i}%:", "▋" * (i // 2), end="") sys.stdout.flush() time.sleep(0.05) ``` 另一种方法是使用第三方库,比如PySimpleGUI。这个库提供了一个方便的方法来创建GUI界面和进度条。下面是一个使用PySimpleGUI的例子: ```python import PySimpleGUI as sg import time mylist = \[1, 2, 3, 4, 5, 6, 7, 8\] for i, item in enumerate(mylist): sg.one_line_progress_meter("This is my progress meter!", i+1, len(mylist), '-key-') time.sleep(1) ``` 这个例子使用了PySimpleGUI的`one_line_progress_meter`函数来显示进度条。你可以根据自己的需求进行调整和定制。希望这些例子对你有帮助!\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Python制作进度条,原来有这么多方法](https://blog.csdn.net/CSDN_224022/article/details/128618564)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v90^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【爬虫系列】Python如何实现进度条效果?](https://blog.csdn.net/qq_29119581/article/details/128800272)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v90^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值