鱼C论坛

 找回密码
 立即注册
查看: 1070|回复: 7

[已解决]python做进度条

[复制链接]
发表于 2024-2-2 21:52:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
rt
最佳答案
2024-2-2 21:53:53
陶远航 发表于 2024-02-02 21:53
tqdm怎么做?在IDLE里


要在Python中使用`tqdm`库实现进度条,首先需要安装该库。您可以在命令行中使用以下命令来安装`tqdm`:
pip install tqdm

安装成功后,您可以使用以下代码示例在IDLE中创建一个简单的进度条:
from tqdm import tqdm
import time

total = 100  # 总共的任务数
with tqdm(total=total, ncols=80) as pbar:
    for i in range(total):
        time.sleep(0.1)  # 模拟任务执行的耗时
        pbar.update(1)  # 更新进度条

在这个示例中,我们使用了`tqdm`库中的`tqdm`函数创建了一个进度条对象`pbar`,设置了总共的任务数为100,并指定进度条在终端的宽度为80个字符。然后,在循环中执行任务时,我们使用`pbar.update(1)`更新进度条,模拟每个任务完成时的进度更新。在每次更新进度条之间,我们还使用`time.sleep(0.1)`来模拟任务执行的耗时。

您可以根据实际需求调整总任务数、进度条的宽度以及任务执行的耗时。希望对您有帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-2 21:52:44 | 显示全部楼层
想要在Python中实现一个进度条,可以使用`time`模块和`sys`模块来实现。下面是一个简单的代码示例:
import time
import sys

def progress_bar(total, length=50):
    start_time = time.time()
    progress = 0
    while progress <= total:
        elapsed_time = time.time() - start_time
        percent = progress / total * 100
        filled_length = int(length * progress // total)
        bar = '#' * filled_length + '-' * (length - filled_length)
        sys.stdout.write('\r[%s] %.1f%% (%d seconds elapsed)' % (bar, percent, elapsed_time))
        sys.stdout.flush()
        time.sleep(0.1)
        progress += 1
    sys.stdout.write('\n')

progress_bar(100)

这段代码首先定义了一个函数`progress_bar`,它接受两个参数:`total`表示总共的进度步数,`length`表示进度条的长度(默认为50)。然后,在`while`循环中,使用`sys.stdout.write()`函数来生成进度条的输出,并用`sys.stdout.flush()`将其立即显示出来。最后,使用`time.sleep()`函数来暂停一小段时间,模拟进度的变化。

你可以调用`progress_bar`函数并传入进度的总数来使用这个进度条。上面的示例中,进度总数为100,所以进度条会从0%到100%逐渐增长,并伴随着经过的秒数。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-2 21:53:34 | 显示全部楼层
FishC 发表于 2024-2-2 21:52
想要在Python中实现一个进度条,可以使用`time`模块和`sys`模块来实现。下面是一个简单的代码示例:

tqdm怎么做?在IDLE里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-2 21:53:53 | 显示全部楼层    本楼为最佳答案   
陶远航 发表于 2024-02-02 21:53
tqdm怎么做?在IDLE里


要在Python中使用`tqdm`库实现进度条,首先需要安装该库。您可以在命令行中使用以下命令来安装`tqdm`:
pip install tqdm

安装成功后,您可以使用以下代码示例在IDLE中创建一个简单的进度条:
from tqdm import tqdm
import time

total = 100  # 总共的任务数
with tqdm(total=total, ncols=80) as pbar:
    for i in range(total):
        time.sleep(0.1)  # 模拟任务执行的耗时
        pbar.update(1)  # 更新进度条

在这个示例中,我们使用了`tqdm`库中的`tqdm`函数创建了一个进度条对象`pbar`,设置了总共的任务数为100,并指定进度条在终端的宽度为80个字符。然后,在循环中执行任务时,我们使用`pbar.update(1)`更新进度条,模拟每个任务完成时的进度更新。在每次更新进度条之间,我们还使用`time.sleep(0.1)`来模拟任务执行的耗时。

您可以根据实际需求调整总任务数、进度条的宽度以及任务执行的耗时。希望对您有帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-2 22:06:30 | 显示全部楼层
卧槽,回复晚了

小甲鱼给过教程:https://fishc.com.cn/forum.php?mod=viewthread&tid=239057
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 07:50:46 | 显示全部楼层
Tkinter 就能做

评分

参与人数 1荣誉 +5 贡献 +3 收起 理由
陶远航 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-3 07:52:05 | 显示全部楼层

给你升级
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-3 08:50:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 20:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表