Permintaan adalah perpustakaan yang sangat bagus. Saya ingin menggunakannya untuk mengunduh file besar (> 1GB). Masalahnya adalah itu tidak mungkin untuk menyimpan seluruh file dalam memori saya harus membacanya dalam potongan. Dan ini merupakan masalah dengan kode berikut
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
Dengan beberapa alasan itu tidak berfungsi seperti ini. Itu masih memuat respons ke dalam memori sebelum menyimpannya ke file.
MEMPERBARUI
Jika Anda memerlukan klien kecil (Python 2.x /3.x) yang dapat mengunduh file besar dari FTP, Anda dapat menemukannya di sini . Ini mendukung multithreading & menghubungkan kembali (ini memonitor koneksi) dan juga menyetel params socket untuk tugas pengunduhan.