Pobierz duży plik w Pythonie z żądaniami

Upraszanie to naprawdę ładna biblioteka. Chciałbym go użyć do pobierania dużych plików (> 1 GB). Problem polega na tym, że nie można przechowywać całego pliku w pamięci. Muszę go przeczytać w kawałkach. I to jest problem z następującym kodem

import requests

def DownloadFile(url)
    local_filename = url.split('/')[-1]
    r = requests.get(url)
    f = open(local_filename, 'wb')
    for chunk in r.iter_content(chunk_size=512 * 1024): 
        if chunk: # filter out keep-alive new chunks
            f.write(chunk)
    f.close()
    return 

Z jakiegoś powodu nie działa w ten sposób. Nadal ładuje odpowiedź do pamięci przed zapisaniem jej w pliku.

AKTUALIZACJA

Jeśli potrzebujesz małego klienta (Python 2.x / 3.x), który może pobierać duże pliki z FTP, możesz go znaleźćtutaj. Obsługuje wielowątkowość i ponowne połączenia (wykonuje połączenia monitorujące), a także dostosowuje parametry gniazda do zadania pobierania.

questionAnswers(4)

yourAnswerToTheQuestion