【发布时间】:2019-11-08 19:06:36
【问题描述】:
我正在寻找一种 python 下载方法,我可以使用指定的目标和文件名将文件直接下载到磁盘,如果下载时间过长,则超时。
从这里看起来有三个主要的 python 下载选项
https://stackabuse.com/download-files-with-python/
urllib.request.urlretrieve
没有超时选项。
requests.get(url)
已超时,但需要先打开文件才能保存。看起来它也从 url 获取文件名。
wget.download
似乎也没有超时选项。
有没有满足我所有三个要求的python下载方法?
【问题讨论】:
-
为什么有保存前不打开的要求?
-
可能存在一些 Python 可能不知道如何处理的文件,例如视频、图片、压缩文件、程序等。Python 在尝试打开它们时可能会遇到错误。在 RAM 和时间上也可能相同。
-
“打开”文件是要求操作系统分配磁盘空间并允许您的程序写入数据。所有文件都可以表示为二进制流,因此文件中的内容并不重要。您可以分块流式传输到文件以避免大文件的内存问题。 stackoverflow.com/a/39217788/1617748
-
哦,有趣。我没有任何大文件,但我现在看到我不打开文件的要求是错误的,因为看起来所有 3 种下载方法都在打开文件时打开了文件。
标签: python