使用指定的目标/文件名和超时时间限制将文件保存到磁盘的下载方法,无需先打开文件[重复]

Posted

技术标签:

【中文标题】使用指定的目标/文件名和超时时间限制将文件保存到磁盘的下载方法,无需先打开文件[重复]【英文标题】:Download method to save files to disk using specified destination/file name, and timeout time limit, without opening file first [duplicate] 【发布时间】: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 和时间上也可能相同。 “打开”文件是要求操作系统分配磁盘空间并允许您的程序写入数据。所有文件都可以表示为二进制流,因此文件中的内容并不重要。您可以分块流式传输到文件以避免大文件的内存问题。 ***.com/a/39217788/1617748 哦,有趣。我没有任何大文件,但我现在看到我不打开文件的要求是错误的,因为看起来所有 3 种下载方法都在打开文件时打开了文件。 【参考方案1】:

我认为你不能在不打开文件的情况下写入文件。

urllibopens it too.

【讨论】:

哦,有趣,我猜 wget 也一样?如果是这样,我想知道这三种方法之间的根本区别是什么。

以上是关于使用指定的目标/文件名和超时时间限制将文件保存到磁盘的下载方法,无需先打开文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

用python如何将文件夹内部分指定文件名的文件复制到目标文件夹,大佬求教!

tar备份文件

以指定的时间间隔录制视频,然后将它们保存到文件 OpenCv Python

java定时器读取指定文件夹中文件名称和创建时间保存到数据库后复制文件到另外文件夹中后删除

使用带有指定文件名和扩展名的浏览器将文件保存到本地系统,使用 html 和 javascript,无需服务器交互

目标C将带有扩展名和名称的文件保存到字典