


Pengendalian fail ialah salah satu aspek yang paling penting dalam bekerja dengan Python. Sama ada anda membaca dokumen teks, menulis log, memproses fail CSV atau menyimpan data, memahami cara bekerja dengan fail adalah penting. Nasib baik, Python memudahkannya dengan fungsi terbina dalam yang membolehkan anda membuat, membuka, membaca, menulis dan memanipulasi fail tanpa berpeluh.
Dalam artikel ini, kami akan menyelami asas pengendalian fail dalam Python, merangkumi segala-galanya daripada membuka fail kepada menangani format fail biasa seperti CSV dan JSON. Kami juga akan berkongsi petua tentang bekerja dengan cekap dengan fail besar dan memastikan anda mengendalikan fail dengan selamat. Pada akhirnya, anda akan berasa yakin menggunakan Python untuk mengurus fail dalam projek anda.
Apa yang Kami Akan Liput:
- Membuka dan Menutup Fail
- Membaca daripada Fail
- Menulis ke Fail
- Mengendalikan Fail Binari
- Mengendalikan Pengecualian
- Menggunakan os dan pathlib untuk Operasi Fail
- Bekerja dengan Fail CSV dan JSON
- Petua Pengendalian Fail yang Cekap
- Pengekodan Fail dan Pertimbangan Merentas Platform
1. Membuka dan Menutup Fail
Apabila anda bekerja dengan fail, langkah pertama ialah membuka fail. Dalam Python, ini dilakukan menggunakan fungsi open(), yang mengambil dua hujah utama: nama fail dan mod di mana anda ingin membuka fail (seperti baca "r", tulis "w", atau tambahkan "a" ). Sebaik sahaja anda selesai, adalah penting untuk menutup fail untuk mengosongkan sumber.
Contoh:
# Open a file in write mode file = open("example.txt", "w") # Write some content to the file file.write("Hello, World!") # Always close the file after you're done to free up system resources file.close()
Penjelasan:
open("example.txt", "w"): Membuka fail example.txt dalam mod tulis. Jika fail itu tidak wujud, Python akan menciptanya. Jika ia wujud, ia akan ditimpa.
file.write("Hello, World!"): Menulis rentetan "Hello, World!" ke fail.
file.close(): Menutup fail, yang diperlukan untuk memastikan semua perubahan disimpan dan sumber dikeluarkan.
Amalan yang lebih baik: Menggunakan pernyataan dengan
Pernyataan with menutup fail secara automatik apabila anda selesai, jadi anda tidak perlu memanggil close() secara eksplisit.
with open("example.txt", "w") as file: file.write("Hello, World!") # The file is automatically closed here, even if an error occurs
Penjelasan:
Pernyataan dengan memastikan bahawa fail ditutup secara automatik selepas blok kod dilaksanakan, walaupun ralat berlaku di dalam blok. Ini menghalang kehilangan data secara tidak sengaja atau kebocoran sumber.
2. Membaca daripada Fail
Terdapat pelbagai cara untuk membaca daripada fail dalam Python, bergantung pada sama ada anda mahu membaca keseluruhan fail sekaligus atau memprosesnya baris demi baris.
Contoh (membaca keseluruhan fail):
with open("example.txt", "r") as file: content = file.read() # Read the entire file at once print(content)
Penjelasan:
open("example.txt", "r"): Membuka fail dalam mod baca ("r").
file.read(): Membaca keseluruhan kandungan fail ke dalam kandungan berubah. Ini sesuai untuk fail kecil tetapi boleh menjadi tidak cekap untuk fail besar.
cetak(kandungan): Mengeluarkan kandungan ke konsol.
Contoh (membaca baris demi baris dengan cekap):
# Open a file in write mode file = open("example.txt", "w") # Write some content to the file file.write("Hello, World!") # Always close the file after you're done to free up system resources file.close()
Penjelasan:
Gelung untuk baris dalam fail membaca fail baris demi baris, menjadikannya cekap memori untuk fail besar.
line.strip(): Mengalih keluar mana-mana ruang putih di hadapan/mengekor atau aksara baris baharu daripada setiap baris sebelum mencetak.
3. Menulis ke Fail
Untuk menulis data pada fail, kami menggunakan mod "w" atau "a". Mod "w" menimpa fail, manakala "a" ditambahkan pada kandungan sedia ada.
Contoh (menulis pada fail):
with open("example.txt", "w") as file: file.write("Hello, World!") # The file is automatically closed here, even if an error occurs
Penjelasan:
open("example.txt", "w"): Membuka fail dalam mod tulis, yang mencipta fail jika ia tidak wujud atau memadamkan kandungan jika ada.
file.write(): Menulis rentetan pada fail. Anda boleh memasukkan n untuk baris baharu jika perlu.
Contoh (tambahan pada fail):
with open("example.txt", "r") as file: content = file.read() # Read the entire file at once print(content)
Penjelasan:
open("example.txt", "a"): Membuka fail dalam mod tambahan ("a"), yang bermaksud data baharu akan ditambahkan pada penghujung fail tanpa memadamkan kandungan sedia ada.
file.write("nIni akan ditambahkan pada penghujung."): Menulis baris baharu di hujung fail, menambah n untuk beralih ke baris baharu.
4. Mengendalikan Fail Binari
Apabila bekerja dengan fail bukan teks seperti imej, video atau data binari lain, anda perlu menggunakan mod binari ("rb" untuk membaca, "wb" untuk menulis).
Contoh (membaca fail binari):
with open("example.txt", "r") as file: for line in file: # Loop through each line in the file print(line.strip()) # Remove trailing newline characters and print the line
Penjelasan:
open("image.jpg", "rb"): Membuka fail dalam mod baca binari ("rb"), yang diperlukan untuk data binari.
binary_file.read(): Membaca keseluruhan kandungan binari fail.
binary_data[:10]: Menunjukkan 10 bait pertama fail. Ini berguna untuk melihat pratonton atau memproses data binari dalam ketulan.
5. Mengendalikan Pengecualian
Apabila bekerja dengan fail, ralat seperti fail hilang atau isu kebenaran boleh berlaku. Anda boleh menangani ralat ini dengan anggun menggunakan blok cuba kecuali.
Contoh:
with open("example.txt", "w") as file: file.write("Writing a new line of text.")
Penjelasan:
Sekatan cubaan cuba membuka dan membaca fail yang mungkin tidak wujud.
Jika fail tidak ditemui, blok kecuali FileNotFoundError menangkap ralat dan mencetak mesej mesra pengguna dan bukannya ranap program.
6. Menggunakan os dan pathlib untuk Operasi Fail
Modul os dan pathlib menyediakan cara untuk berinteraksi dengan sistem fail selain membuka dan menutup fail. Anda boleh menyemak sama ada fail wujud, menamakan semula atau mengalih keluarnya.
Contoh (modul os):
# Open a file in write mode file = open("example.txt", "w") # Write some content to the file file.write("Hello, World!") # Always close the file after you're done to free up system resources file.close()
Penjelasan:
with open("example.txt", "w") as file: file.write("Hello, World!") # The file is automatically closed here, even if an error occurs
Contoh (modul pathlib):
with open("example.txt", "r") as file: content = file.read() # Read the entire file at once print(content)
Penjelasan:
Path("new_example.txt"): Mencipta objek Path yang menghala ke fail.
file_path.exists(): Menyemak sama ada fail itu wujud.
file_path.unlink(): Memadamkan fail.
7. Bekerja dengan Fail CSV dan JSON
Modul csv dan json Python memudahkan untuk berfungsi dengan format data berstruktur seperti CSV (nilai dipisahkan koma) dan JSON (Notasi Objek JavaScript).
Fail CSV
Modul csv membolehkan anda mengendalikan data yang disusun dalam baris dan lajur.
Contoh (menulis CSV):
with open("example.txt", "r") as file: for line in file: # Loop through each line in the file print(line.strip()) # Remove trailing newline characters and print the line
Penjelasan:
csv.writer(file): Mencipta objek penulis untuk menulis baris pada fail CSV.
writer.writerow(): Menulis setiap baris data ke fail.
Contoh (membaca CSV):
with open("example.txt", "w") as file: file.write("Writing a new line of text.")
Penjelasan:
dalam blok kod di atas, csv.reader(file): Mencipta objek pembaca yang berulang melalui setiap baris dalam fail CSV.
Gelung untuk baris dalam pembaca membaca setiap baris dan mencetaknya.
Fail JSON
Modul json sangat bagus untuk membaca dan menulis data yang berstruktur dalam pasangan nilai kunci.
Contoh (menulis JSON):
with open("example.txt", "a") as file: file.write("\nThis will be appended at the end.")
Penjelasan:
json.dump(data, fail): Menulis data kamus sebagai JSON pada fail.
Contoh (membaca JSON):
with open("image.jpg", "rb") as binary_file: binary_data = binary_file.read() # Read the entire file in binary mode print(binary_data[:10]) # Print first 10 bytes for preview
Penjelasan:
json.load(file): Membaca fail JSON dan menukarkannya semula kepada kamus Python.
8. Petua Pengendalian Fail yang Cekap
Apabila berurusan dengan fail yang besar, lebih cekap memproses fail dalam ketulan daripada memuatkan keseluruhan fail ke dalam memori.
Contoh (membaca seketul):
try: with open("nonexistentfile.txt", "r") as file: content = file.read() except FileNotFoundError: print("The file does not exist!")
Kesimpulan
Menggunakan fail dalam Python adalah mudah dan berkuasa. Sama ada anda memproses fail teks, menyimpan data atau mengendalikan set data yang besar, menguasai operasi fail akan menjadikan kehidupan pengekodan anda lebih mudah. Dengan petua dan teknik yang kami bincangkan dalam artikel ini, anda akan berjaya menulis program Python yang lebih cekap, boleh dipercayai dan berskala.
Terima kasih kerana membaca...
Atas ialah kandungan terperinci Pengenalan kepada Pengendalian Fail dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Polimorfisme adalah konsep teras dalam pengaturcaraan berorientasikan objek Python, merujuk kepada "satu antara muka, pelbagai pelaksanaan", yang membolehkan pemprosesan bersatu pelbagai jenis objek. 1. Polimorfisme dilaksanakan melalui penulisan semula kaedah. Subkelas boleh mentakrifkan semula kaedah kelas induk. Sebagai contoh, kaedah bercakap () kelas haiwan mempunyai pelaksanaan yang berbeza dalam subkelas anjing dan kucing. 2. Penggunaan praktikal polimorfisme termasuk memudahkan struktur kod dan meningkatkan skalabilitas, seperti memanggil kaedah cabutan () secara seragam dalam program lukisan grafik, atau mengendalikan tingkah laku umum watak -watak yang berbeza dalam pembangunan permainan. 3. Polimorfisme pelaksanaan Python perlu memenuhi: Kelas induk mentakrifkan kaedah, dan kelas kanak -kanak mengatasi kaedah, tetapi tidak memerlukan warisan kelas induk yang sama. Selagi objek melaksanakan kaedah yang sama, ini dipanggil "jenis itik". 4. Perkara yang perlu diperhatikan termasuk penyelenggaraan

Iterator adalah objek yang melaksanakan kaedah __iter __ () dan __Next __ (). Penjana adalah versi Iterator yang dipermudahkan, yang secara automatik melaksanakan kaedah ini melalui kata kunci hasil. 1. Iterator mengembalikan elemen setiap kali dia memanggil seterusnya () dan melemparkan pengecualian berhenti apabila tidak ada lagi elemen. 2. Penjana menggunakan definisi fungsi untuk menghasilkan data atas permintaan, menjimatkan memori dan menyokong urutan tak terhingga. 3. Menggunakan Iterator apabila memproses set sedia ada, gunakan penjana apabila menghasilkan data besar secara dinamik atau penilaian malas, seperti garis pemuatan mengikut baris apabila membaca fail besar. NOTA: Objek yang boleh diperolehi seperti senarai bukanlah pengaliran. Mereka perlu dicipta semula selepas pemalar itu sampai ke penghujungnya, dan penjana hanya boleh melintasi sekali.

Kunci untuk menangani pengesahan API adalah untuk memahami dan menggunakan kaedah pengesahan dengan betul. 1. Apikey adalah kaedah pengesahan yang paling mudah, biasanya diletakkan dalam tajuk permintaan atau parameter URL; 2. BasicAuth menggunakan nama pengguna dan kata laluan untuk penghantaran pengekodan Base64, yang sesuai untuk sistem dalaman; 3. OAuth2 perlu mendapatkan token terlebih dahulu melalui client_id dan client_secret, dan kemudian bawa bearertoken dalam header permintaan; 4. Untuk menangani tamat tempoh token, kelas pengurusan token boleh dikemas dan secara automatik menyegarkan token; Singkatnya, memilih kaedah yang sesuai mengikut dokumen dan menyimpan maklumat utama adalah kunci.

Kaedah yang sama untuk melintasi dua senarai secara serentak dalam Python adalah menggunakan fungsi zip (), yang akan memasangkan beberapa senarai dalam rangka dan menjadi yang paling singkat; Jika panjang senarai tidak konsisten, anda boleh menggunakan itertools.zip_longest () untuk menjadi yang paling lama dan mengisi nilai yang hilang; Digabungkan dengan penghitungan (), anda boleh mendapatkan indeks pada masa yang sama. 1.Zip () adalah ringkas dan praktikal, sesuai untuk lelaran data berpasangan; 2.zip_longest () boleh mengisi nilai lalai apabila berurusan dengan panjang yang tidak konsisten; 3.enumerate (zip ()) boleh mendapatkan indeks semasa traversal, memenuhi keperluan pelbagai senario kompleks.

Menegaskan adalah alat pernyataan yang digunakan dalam Python untuk menyahpepijat, dan melemparkan pernyataan apabila keadaan tidak dipenuhi. Sintaksnya adalah menegaskan keadaan ditambah maklumat ralat pilihan, yang sesuai untuk pengesahan logik dalaman seperti pemeriksaan parameter, pengesahan status, dan lain -lain, tetapi tidak boleh digunakan untuk pemeriksaan input keselamatan atau pengguna, dan harus digunakan bersamaan dengan maklumat yang jelas. Ia hanya tersedia untuk debugging tambahan dalam peringkat pembangunan dan bukannya menggantikan pengendalian pengecualian.

Inpython, iteratorsareObjectsThatallowLoopingthroughCollectionsByImplementing__iter __ () dan__Next __ ()

TypehintsinpythonsolvetheproblemofambiguityandpotentialbugsindynamiciallytypodeByallowingDeveloperStospecifyExpectedTypes.theyenhancereadability, enablearlybugdetection, andimprovetoLiaSareAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeSareadDeSareadDeSareadDeSareadDeSaread

Untuk mewujudkan API moden dan cekap menggunakan Python, FastAPI disyorkan; Ia berdasarkan kepada jenis python standard yang diminta dan secara automatik dapat menghasilkan dokumen, dengan prestasi yang sangat baik. Selepas memasang FastAPI dan Asgi Server UVicorn, anda boleh menulis kod antara muka. Dengan menentukan laluan, menulis fungsi pemprosesan, dan data yang kembali, API boleh dibina dengan cepat. FastAPI menyokong pelbagai kaedah HTTP dan menyediakan sistem dokumentasi Swaggersui dan Redoc yang dihasilkan secara automatik. Parameter URL boleh ditangkap melalui definisi laluan, manakala parameter pertanyaan boleh dilaksanakan dengan menetapkan nilai lalai untuk parameter fungsi. Penggunaan rasional model Pydantic dapat membantu meningkatkan kecekapan dan ketepatan pembangunan.
