gpt4 book ai didi

python - 使用 Python 从命令行下载文件

转载 作者:太空狗 更新时间:2023-10-29 22:13:32 33 4
gpt4 key购买 nike

我正在寻找一种通过 HTTP 下载文件的快速方法,使用命令行中的 Python 单行代码(类似于 wgetcurl 的功能).这个想法是启用快速复制/粘贴以在 Windows 上下载 distutils

我知道一种解决方案(请参阅下面的回答)。我对考虑以下因素的其他解决方案感兴趣:

  • 简洁
  • 最“Pythonic”的解决方案
  • 同时兼容 Python 2 和 Python 3
  • 跨平台
  • 可以有效地处理大文件
  • 没有依赖项(我们在这里获取 distutils。在这个阶段我们不太可能访问 requests)
  • 正确处理各种 HTTP header ,例如 Content-Disposition

最佳答案

我能想到的最简单的解决方案是:

try:
from urllib.request import urlretrieve
except ImportError:
from urllib import urlretrieve

urlretrieve('http://example.org', 'outfile.dat')

urlretrieve 负责将资源下载到本地文件并且可以处理大文件。

但是,它会忽略 Content-Disposition header 。如果您希望考虑到这一点,则需要使用 urlopen 并自己解析响应 header 。 Content-Disposition 不是 HTTP 标准 header ,因此我怀疑您会在 Python HTTP 库中找到对它的大量支持...

关于python - 使用 Python 从命令行下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17162995/

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