Verwenden von Python-Anforderungen zum 'Überbrücken' einer Datei, ohne sie in den Speicher zu laden?
Ich würde das gerne nutzenPython-Anfragen Bibliothek, um eine Datei von einer URL abzurufen und als mehrteilig codierte Datei in einer Post-Anfrage zu verwenden. Der Haken ist, dass die Datei sehr groß sein könnte (50 MB - 2 GB) und ich sie nicht in den Speicher laden möchte. (KontextHier.)
Die folgenden Beispiele in den Dokumenten (mehrteilig, runterströmen undaufwärts streamen) Ich habe mir so etwas ausgedacht:
with requests.get(big_file_url, stream=True) as f:
requests.post(upload_url, files={'file': ('filename', f.content)})
aber ich bin nicht sicher, ob ich es richtig mache. Es löst tatsächlich diesen Fehler aus - korrigiert aus dem Traceback:
with requests.get(big_file_url, stream=True) as f:
AttributeError: __exit__
Irgendwelche Vorschläge?