22 Mayıs 2013, ÇARŞAMBA
Ne kadar büyük bir dosya indirmek için requests.py python ile?
Requests gerçekten güzel bir kütüphane. Yükleme büyük dosyaları (>için kullanmak istiyorum 1GB). Sorun Olası bölümleri okumam gerekiyor bellekteki tüm dosya tutmak için değil. Ve bu aşağıdaki kod ile ilgili bir sorun
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
Nedense bu şekilde olmuyor. Hala bir dosyaya kaydedin önce belleğe yanıt yükler.
CEVAP
22 Mayıs 2013, ÇARŞAMBA
Değiştirilmesi gerektiğini anladım. Hile ile kurulmuşturstream = True(). Bu python sonra işlem bellek (30kb civarında statys ne olursa olsun yükleme dosyasının boyutu) emmek için durdu. @Danodonovan sen burada kullanım sözdizimi teşekkür ederim
def download_file(url):
local_filename = url.split('/')[-1]
# NOTE the stream=True parameter
r = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.flush()
return local_filename
Bakın http://docs.python-requests.org/en/latest/user/advanced/#body-content-workflow daha fazla referans.
Bunu Paylaş:
Ne kadar büyük dosya okumak için pytho...
Python Büyük Dosya Okuma için tembel Y...
Nasıl bir dosya a 'akıllı' ş...
Ne kadar büyük ölçekli kalkınma için P...
Nasıl dosya oluşturma ve Tarih değişik...