gpt4 book ai didi

来自回调函数的Python进度条

转载 作者:行者123 更新时间:2023-12-05 06:19:07 26 4
gpt4 key购买 nike

据我所知,进度条主要通过包装可迭代对象或类似的东西来工作。我正在尝试从另一个模块的回调函数中获取进度条。

该模块正在对数据进行计算,您可以定义一个使用三个参数的回调:(正在处理的文件,当前件数,总件数)

只是为了好玩,我这样做了:

def callback(filename, pc, num_pieces):
print(f'{filename} - {pc} - {num_pieces}')

正如预期的那样,您将获得数千张打印件数不断增加的打印件:文件名也会在进程中发生变化,但这对我的目的来说并不重要。

您将如何定义和使用回调来为 CLI 应用程序创建进度条?

最佳答案

我用 TQDM 做了类似的事情。

如果你有一个经典的回调,把它改成 update_to 函数,它看起来有点像我的:

class DownloadProgressBar(tqdm):
def update_to(self, current, total):
self.total = total
self.update(current - self.n)

并定期向您的 DownloadProgressBar 注册回调。

with DownloadProgressBar(unit='B', unit_scale=True) as t:
client.download_media(media, filepath , progress_callback=t.update_to)

有关更多信息,请查看他们的 Official docs.

(请记住,我的示例显示的是对单个文件的回调)

关于来自回调函数的Python进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60953112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com