繁体   English   中英

使用 TQDM 的 Telegram Telethon 媒体下载进度

[英]Telegram Telethon Media Download Progress with TQDM

使用 Telethon 下载时,我只想要一个工作进度条(tqdm)。

def prog(current, total):
    global pbar
    pbar.update(current)

pbar = tqdm()

async def DoIt():
    global pbar
    async for message in client.iter_messages(entity=entity, limit=60,reverse=False):
        pbar = tqdm(unit='B',unit_scale=True,total=message.media.document.size)
        await client.download_media(message.media.document, "Q:\\dl", progress_callback=prog)
        pbar.close()

它并没有真正起作用。 进度条从“0”变为“100”: pbar

然后出现:

pbar

我认为 tqdm 的工作方式是更新已完成的块。 为了使这个示例正常工作,我必须对先前更新的更改进行锻炼,并将其提供给更新。 好好工作。

# Printing download progress
def callback(current, total):
    global pbar
    global prev_curr
    pbar.update(current-prev_curr)
    prev_curr = current

async def main():
    global pbar
    global prev_curr
    async for message in client.iter_messages(chat, reverse=True):
    if message.media:  
        prev_curr = 0
        pbar = tqdm(total=message.document.size, unit='B', unit_scale=True)
        path = await message.download_media('{}/{}'.format(dlw_path,file_name), progress_callback=callback)
        pbar.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM