【问题标题】: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 和时间上也可能相同。
  • “打开”文件是要求操作系统分配磁盘空间并允许您的程序写入数据。所有文件都可以表示为二进制流,因此文件中的内容并不重要。您可以分块流式传输到文件以避免大文件的内存问题。 stackoverflow.com/a/39217788/1617748
  • 哦,有趣。我没有任何大文件,但我现在看到我不打开文件的要求是错误的,因为看起来所有 3 种下载方法都在打开文件时打开了文件。

标签: python


【解决方案1】:

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

urllibopens it too.

【讨论】:

  • 哦,有趣,我猜 wget 也一样?如果是这样,我想知道这三种方法之间的根本区别是什么。
猜你喜欢
  • 2014-02-18
  • 2011-01-21
  • 2011-05-20
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
  • 2011-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多