📅  最后修改于: 2023-12-03 14:53:20.715000             🧑  作者: Mango
在使用Python中的requests
库下载文件时,我们有时需要将文件下载到指定的位置,而不是默认的当前工作目录。这个问题可以通过设置请求库的stream
参数和Python内置的open
函数实现。
首先,我们需要设置请求库的stream
参数,以便下载大型文件时可以分段读取,而不会加载整个文件到内存中。该参数默认为False
,我们需要将其设置为True
。示例代码如下:
import requests
url = 'https://example.com/file.pdf'
response = requests.get(url, stream=True)
接下来,我们需要使用Python内置的open
函数将文件下载到指定的位置。我们可以使用with
语句来确保在下载完成时正确关闭文件。示例代码如下:
import requests
url = 'https://example.com/file.pdf'
response = requests.get(url, stream=True)
with open('/path/to/downloaded/file.pdf', 'wb') as f:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
在上面的代码中,我们将文件下载到/path/to/downloaded/file.pdf
路径下,chunk_size=1024
指定了每次读取的字节数,以便将文件拆分成适当大小的块进行处理。
总结:通过设置请求库的stream
参数和使用Python内置的open
函数,我们可以将文件下载到指定的位置。在下载完成后,记得关闭文件。下面是完整的代码片段:
import requests
url = 'https://example.com/file.pdf'
response = requests.get(url, stream=True)
with open('/path/to/downloaded/file.pdf', 'wb') as f:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)