2017-06-22 119 views
-2

目前,我正在使用它来下载一个文件,但它将它们放在它正在运行的同一个文件夹中,但是如何将下载的文件保存到我选择的另一个目录。如何将从请求下载的文件保存到另一个目录?

r = requests.get(url) 
with open('file_name.pdf', 'wb') as f: 
    f.write(r.content) 
+1

'open('somefolder/file_name.pdf','wb')'...!? – deceze

+2

为什么人们不会尝试显而易见的? 'open()'需要一个路径,而不是文件名,所以给它一个路径! – Baldrickk

回答

2

或者,如果在Linux中,尝试:

# To save to an absolute path. 
r = requests.get(url) 
with open('/path/I/want/to/save/file/to/file_name.pdf', 'wb') as f: 
    f.write(r.content) 


# To save to a relative path. 
r = requests.get(url) 
with open('folder1/folder2/file_name.pdf', 'wb') as f: 
    f.write(r.content) 

open() function文档的更多细节。

+0

如果它是一个下载的zip文件夹并且你想将它保存在一个目录中 – medev21

+0

上面还可以将一个zip文件(定义为URL的路径)保存到一个特定的目录(例如'/ path/I /想/到/保存/文件/至/ archive.zip')。或者你的意思是从URL下载档案并将其解压缩到一个文件夹中? – Jonny

1

你可以只给一个open完整的文件路径或相对文件路径

r = requests.get(url) 
with open(r'C:\path\to\save\file_name.pdf', 'wb') as f: 
    f.write(r.content) 
0

只要您有权访问该目录,您可以简单地将您的file_name.pdf'更改为'/path_to_directory_you_want_to_save/file_name.pdf',并且应该按照您的要求进行操作。

相关问题