Rumah >pembangunan bahagian belakang >Tutorial Python >Pengaturcaraan pelayan Python: Cara mengendalikan muat naik fail yang cekap
Dengan pembangunan pengkomputeran awan dan popularisasi aplikasi, aplikasi Web telah menarik lebih banyak perhatian, yang juga telah menggalakkan pembangunan pengaturcaraan pelayan. Muat naik fail sentiasa menjadi pautan yang sangat penting dalam pembangunan aplikasi web Terutamanya dalam laman web besar atau sistem peringkat perusahaan, pemprosesan muat naik fail menduduki sebahagian besar sumber. Python adalah bahasa pengaturcaraan yang sangat popular Ia mempunyai kelebihan yang mudah dipelajari, berciri penuh, dan kecekapan pembangunan yang tinggi Terutamanya dalam bidang pengaturcaraan pelayan web, ia mempunyai keupayaan pemprosesan yang diedarkan, jadi ia telah menjadi pilihan pertama. daripada banyak pembangun web. Artikel ini akan memperkenalkan cara menggunakan Python untuk pemprosesan muat naik fail yang cekap, termasuk cara memilih kaedah muat naik fail, cara mengendalikan muat naik fail besar, cara meningkatkan kecekapan muat naik fail, dsb.
1 Pilih kaedah muat naik fail
Secara amnya terdapat dua cara untuk memuat naik fail: muat naik fail tunggal dan muat naik berbilang fail. Muat naik fail tunggal sesuai untuk pengguna yang hanya perlu memuat naik satu fail Ia biasanya dilaksanakan menggunakan teg input dalam HTML dan atribut type="file". Muat naik berbilang fail sesuai untuk situasi di mana pengguna perlu memuat naik berbilang fail Ia biasanya dilaksanakan menggunakan kotak pemilihan berbilang fail atau pemalam JavaScript dalam HTML5.
Untuk satu muat naik fail, anda boleh menggunakan modul cgi terbina dalam Python untuk mengendalikan permintaan muat naik fail dengan mudah Kod khusus adalah seperti berikut:
import cgi form = cgi.FieldStorage() fileitem = form['file'] if fileitem.filename: with open('uploaded_file.txt', 'wb') as f: f.write(fileitem.file.read()) f.close() print '上传文件 "%s" 成功!' % fileitem.filename else: print '没有选择文件!'
Untuk beberapa muat naik fail, anda perlu. gunakan perpustakaan pihak ketiga, seperti kelalang, django, dsb. Mengambil kelalang sebagai contoh, kod khusus adalah seperti berikut:
from flask import request @app.route('/upload', methods=['POST']) def upload(): uploaded_files = request.files.getlist("file[]") for file in uploaded_files: file.save(file.filename) return '上传文件成功!'
Perlu diingat bahawa untuk muat naik fail, kita perlu mempertimbangkan faktor seperti jenis fail, saiz fail, nama fail, dll., dan keperluan untuk melakukan pengesahan dan pemprosesan tertentu pada fail yang dimuat naik.
2. Memproses muat naik fail yang besar
Untuk muat naik fail yang besar, kami perlu mempertimbangkan beberapa isu, seperti had memori, lebar jalur pelayan, dsb. Dalam Python, anda boleh menggunakan rangka kerja seperti Werkzeug atau Tornado untuk mengendalikan muat naik fail yang besar.
Ambil Werkzeug sebagai contoh Ia menyediakan mekanisme yang dipanggil "Muat Naik Langsung", yang boleh membaca fail yang dimuat naik ke pelayan sekeping demi sekeping dan menyimpan fail ke cakera keras selepas bacaan selesai. Ia sangat mudah untuk dilaksanakan, kod khusus adalah seperti berikut:
from werkzeug.utils import secure_filename from werkzeug.wsgi import LimitedStream @app.route('/upload', methods=['POST']) def upload(): file = request.files['file'] filename = secure_filename(file.filename) size_limit = 1024 * 1024 * 1024 # 限制文件大小为1G stream = LimitedStream(file.stream, size_limit) with open(filename, 'wb') as f: while True: chunk = stream.read(1024 * 1024) # 每次读取1M if not chunk: break f.write(chunk) return '上传文件成功!'
Kaedah ini sangat berguna untuk memuat naik fail besar, tetapi perlu diingat bahawa hanya 1M data boleh dibaca pada satu masa, jadi jika fail yang dimuat naik terlalu besar, anda perlu Baca beberapa kali, yang boleh menyebabkan penurunan kecekapan penghantaran.
3. Tingkatkan kecekapan muat naik fail
Untuk meningkatkan kecekapan muat naik fail, anda perlu mempertimbangkan aspek berikut:
Ringkasan
Sebagai bahasa pengaturcaraan yang cekap dan mudah digunakan, Python boleh menunjukkan kelebihannya dalam keupayaan pemprosesan teragih dalam bidang pengaturcaraan pelayan Web, dan muat naik fail adalah Aplikasi web Bahagian yang sangat penting dalam program. Artikel ini terutamanya memperkenalkan dua kaedah muat naik fail, kaedah pemprosesan muat naik fail besar, dan kaedah untuk meningkatkan kecekapan muat naik fail Diharap dapat membantu pembangun mengendalikan permintaan muat naik fail dengan lebih baik dan meningkatkan prestasi dan pengalaman pengguna web aplikasi.
Atas ialah kandungan terperinci Pengaturcaraan pelayan Python: Cara mengendalikan muat naik fail yang cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!