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?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage