2017-06-22 3 views
-2

Momentan verwende ich dies, um eine Datei herunterzuladen, aber sie wird in den gleichen Ordner gestellt, in dem sie ausgeführt wird, aber wie würde ich die heruntergeladene Datei in ein anderes Verzeichnis meiner Wahl speichern.Wie speichere ich eine Datei, die von Anfragen in ein anderes Verzeichnis heruntergeladen wurde?

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

'öffnen ('irgendeinOrdner/Dateiname.pdf', 'wb')' ... !? – deceze

+2

Warum versuchen die Leute nicht einfach das Offensichtliche? 'open()' nimmt einen Pfad, keinen Dateinamen, also gib ihm einen Pfad! – Baldrickk

Antwort

2

Oder wenn in Linux, versuchen:

# 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) 

Siehe open() function Dokumentation für weitere Details.

+0

Wie sieht es aus, wenn es sich um einen heruntergeladenen Zip-Ordner handelt und Sie ihn in einem Verzeichnis speichern wollen – medev21

+0

Das obige Verfahren würde auch funktionieren, um eine Zip-Datei (den als URL definierten Pfad) in einem bestimmten Verzeichnis zu speichern (zB '/ path/I/wollen/zu/speichern/file/zu/archive.zip'). Oder möchten Sie ein Archiv von einer URL herunterladen und in einen Ordner extrahieren? – Jonny

1

Sie können nur geben open einen vollständigen Dateipfad oder einen relativen Dateipfad

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

Solange Sie Zugriff auf das Verzeichnis haben, können Sie einfach Ihre file_name.pdf' zu '/path_to_directory_you_want_to_save/file_name.pdf' ändern und das sollte tun, was Sie wollen.

Verwandte Themen