gpt4 book ai didi

Python 进度条和下载

转载 作者:IT老高 更新时间:2023-10-28 20:33:33 27 4
gpt4 key购买 nike

我有一个 Python 脚本,它启动一个可下载文件的 URL。有没有办法让 Python 显示下载进度而不是启动浏览器?

最佳答案

我刚刚为此编写了一个 super 简单(有点笨拙)的方法,用于从某个站点上抓取 PDF。注意,它只能在基于 Unix 的系统(Linux、mac os)上正常工作,因为 PowerShell 不处理 "\r":

import sys
import requests

link = "http://indy/abcde1245"
file_name = "download.data"
with open(file_name, "wb") as f:
print("Downloading %s" % file_name)
response = requests.get(link, stream=True)
total_length = response.headers.get('content-length')

if total_length is None: # no content length header
f.write(response.content)
else:
dl = 0
total_length = int(total_length)
for data in response.iter_content(chunk_size=4096):
dl += len(data)
f.write(data)
done = int(50 * dl / total_length)
sys.stdout.write("\r[%s%s]" % ('=' * done, ' ' * (50-done)) )
sys.stdout.flush()

它使用 requests library所以你需要安装它。这会在您的控制台中输出如下内容:

>Downloading download.data

>[=============                            ]

脚本中的进度条有 52 个字符宽(2 个字符就是 [],所以进度条有 50 个字符)。每个 = 代表 2% 的下载量。

关于Python 进度条和下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15644964/

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