Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membetulkan Isu Muat Turun Imej Menggunakan Modul Permintaan Python?

Bagaimana untuk Membetulkan Isu Muat Turun Imej Menggunakan Modul Permintaan Python?

Mary-Kate Olsen
Lepaskan: 2024-12-21 08:24:11
asal
162 orang telah melayarinya

How to Fix Image Download Issues Using Python's Requests Module?

Menyelesaikan Masalah Muat Turun Imej dengan Modul Permintaan

Soalan:

Semasa cuba memuat turun imej menggunakan modul Permintaan dalam Python, kod di bawah gagal:

r = requests.get(settings.STATICMAP_URL.format(**data))
if r.status_code == 200:
    img = r.raw.read()
    with open(path, 'w') as f:
        f.write(img)
Salin selepas log masuk

Bolehkah anda membantu mengenal pasti isu dan mencadangkan penyelesaian?

Jawapan:

Untuk memuat turun imej menggunakan modul Permintaan , anda boleh menggunakan sama ada objek fail response.raw atau lelaran atas respons. Berikut ialah pendekatan:

Menggunakan response.raw:

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)
Salin selepas log masuk

Pendekatan ini memaksa penyahmampatan respons termampat dan menggunakan shutil.copyfileobj() untuk menstrim data ke objek fail.

Lelaran Berakhir Respons:

r = requests.get(settings.STATICMAP_URL.format(**data), stream=True)
if r.status_code == 200:
    with open(path, 'wb') as f:
        for chunk in r:
            f.write(chunk)
Salin selepas log masuk

Pendekatan ini memastikan data dinyahmampat dan membaca data dalam ketulan 128 bait. Anda boleh menyesuaikan saiz ketulan menggunakan kaedah Response.iter_content().

Nota Tambahan:

  • Buka fail destinasi dalam mod binari ('wb' ) untuk menghalang terjemahan baris baharu.
  • Tetapkan strim=Benar untuk mengelakkan memuatkan keseluruhan imej ke dalam ingatan.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Isu Muat Turun Imej Menggunakan Modul Permintaan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan