2017-06-22 83 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',並且應該按照您的要求進行操作。

相關問題