अनुरोध एक बहुत अच्छा पुस्तकालय है। मैं इसे बड़ी फ़ाइलों को डाउनलोड करने के लिए उपयोग करना चाहता हूं (> 1GB)। समस्या यह है कि पूरी फाइल को याद में रखना संभव नहीं है, मुझे इसे चंक्स में पढ़ने की आवश्यकता है। और यह निम्नलिखित कोड के साथ एक समस्या है
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
किसी कारण से यह इस तरह से काम नहीं करता है। यह अभी भी फ़ाइल में सहेजने से पहले मेमोरी में प्रतिक्रिया लोड करता है।
अपडेट करें
यदि आपको एक छोटे ग्राहक (Python 2.x /3.x) की आवश्यकता है जो FTP से बड़ी फ़ाइलों को डाउनलोड कर सकता है, तो आप इसे यहाँ पा सकते हैं । यह मल्टीथ्रेडिंग और रीकनेक्ट्स का समर्थन करता है (यह कनेक्शनों की निगरानी करता है) यह भी डाउनलोड कार्य के लिए सॉकेट परमर्स को ट्यून करता है।