اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

يوجد العديد من الطرق في بايثون لفعل ذلك، فيمكنك على سبيل المثال استخدام دالة requests.get لتنزيل الملف ودالة copyfileobj من مكتبة shutil للحفظ إلى ملف كما في المثال التالي:

import requests
import shutil

r = requests.get(settings.STATICMAP_URL.format(**data), stream=True)
if r.status_code == 200:
    with open(path, 'wb') as f:
        r.raw.decode_content = True
        shutil.copyfileobj(r.raw, f)        

أما بالنسبة إلى الملفات الكبيرة فانصحك بالدوران حول الاستجابة (response) بعد تقسيمها إلى أجزاء ومن ثم كتابة الأجزاء في ملف كالتالي:

with open('output.jpg', 'wb') as handle:
    response = requests.get('http://www.example.com/image.jpg', stream=True)

    if not response.ok:
        # Something went wrong

    for block in response.iter_content(1024):
        handle.write(block)

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...