Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Muat Turun Fail dari URL yang Disimpan sebagai String dalam Python 3?

Bagaimana untuk Muat Turun Fail dari URL yang Disimpan sebagai String dalam Python 3?

Susan Sarandon
Lepaskan: 2024-11-04 06:48:01
asal
269 orang telah melayarinya

How to Download a File from a URL Stored as a String in Python 3?

Cara Muat Turun Fail daripada Web dalam Python 3 dengan URL Disimpan dalam Rentetan

Apabila cuba memuat turun fail daripada pelayan web dalam Python 3, menghantar rentetan kerana URL boleh mengakibatkan ralat yang memerlukan input bait. Artikel ini membentangkan beberapa kaedah untuk memintas isu ini dan berjaya mendapatkan semula fail.

Menggunakan urllib.request.urlopen

Untuk mendapatkan kandungan halaman web, gunakan urllib .request.urlopen(). Fungsi ini mengembalikan objek tindak balas, yang kemudiannya boleh dibaca menjadi pembolehubah:

<code class="python">import urllib.request

url = 'http://example.com/'
response = urllib.request.urlopen(url)
data = response.read()  # a `bytes` object</code>
Salin selepas log masuk

Menggunakan urlib.request.urlretrieve

Cara paling mudah untuk memuat turun dan menyimpan fail adalah untuk menggunakan fungsi urllib.request.urlretrieve:

<code class="python">import urllib.request

url = 'http://example.com/file.txt'
urllib.request.urlretrieve(url, 'file.txt')</code>
Salin selepas log masuk

Kaedah ini memuat turun fail daripada URL yang ditentukan dan menyimpannya secara setempat sebagai 'file.txt'.

Menggunakan urlib.request.urlopen dengan shutil.copyfileobj

Untuk kawalan yang lebih besar ke atas proses muat turun, gunakan urllib.request.urlopen() untuk mengembalikan objek seperti fail. Objek ini kemudiannya boleh disalin ke fail sebenar menggunakan shutil.copyfileobj():

<code class="python">import urllib.request
import shutil

url = 'http://example.com/file.zip'
with urllib.request.urlopen(url) as response, open('file.zip', 'wb') as out_file:
    shutil.copyfileobj(response, out_file)</code>
Salin selepas log masuk

Menyimpan Muat Turun sebagai Bait

Jika kelajuan adalah keutamaan, data yang dimuat turun boleh disimpan terus ke dalam objek bait dan seterusnya ditulis pada fail, walaupun ini hanya sesuai untuk fail kecil:

<code class="python">import urllib.request

url = 'http://example.com/icon.png'
with urllib.request.urlopen(url) as response, open('icon.png', 'wb') as out_file:
    data = response.read() # a `bytes` object
    out_file.write(data)</code>
Salin selepas log masuk

Mengendalikan Fail Mampat

urllib.request.urlopen() juga boleh digunakan untuk mengendalikan fail termampat, dengan syarat pelayan menyokong akses rawak:

<code class="python">import urllib.request
import gzip

url = 'http://example.com/archive.gz'
with urllib.request.urlopen(url) as response:
    with gzip.GzipFile(fileobj=response) as uncompressed:
        file_header = uncompressed.read(64) # a `bytes` object</code>
Salin selepas log masuk

Dengan melaksanakan salah satu kaedah ini, pembangun boleh berjaya memuat turun fail daripada web dalam Python 3 , walaupun apabila URL disimpan sebagai rentetan.

Atas ialah kandungan terperinci Bagaimana untuk Muat Turun Fail dari URL yang Disimpan sebagai String dalam Python 3?. 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