gpt4 book ai didi

Python 的 ftplib 与 tqdm

转载 作者:行者123 更新时间:2023-11-28 22:38:18 27 4
gpt4 key购买 nike

我有一个使用 ftplib 的控制台脚本作为从 ftp 服务器获取大量文件的后端。我想使用 tqdm给用户一些反馈,前提是他们打开了“详细”开关。这必须是可选的,因为某些用户可能会在没有tty 访问权限的情况下使用该脚本。

ftplibretrbinary 方法接受回调,因此应该可以 Hook tqdm不知何故在那里。但是,我不知道这个回调会是什么样子。

最佳答案

来自FTP.retrbinary:

The callback function is called for each block of data received, with a single string argument giving the data block.

所以回调可能是这样的:

with open(filename, 'wb') as fd:
total = ftpclient.size(filename)

with tqdm(total=total) as pbar:
def callback_(data):
l = len(data)
pbar.update(l)
fd.write(data)

ftpclient.retrbinary('RETR {}'.format(filename), callback_)

注意:此代码未经测试,可能需要修改。

关于Python 的 ftplib 与 tqdm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35702052/

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