Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengenalan kepada Pengendalian Fail dalam Python

Pengenalan kepada Pengendalian Fail dalam Python

Patricia Arquette
Patricia Arquetteasal
2024-10-19 22:17:01790semak imbas

Introduction to File Handling in Python

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:

  1. Membuka dan Menutup Fail
  2. Membaca daripada Fail
  3. Menulis ke Fail
  4. Mengendalikan Fail Binari
  5. Mengendalikan Pengecualian
  6. Menggunakan os dan pathlib untuk Operasi Fail
  7. Bekerja dengan Fail CSV dan JSON
  8. Petua Pengendalian Fail yang Cekap
  9. 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!

Kenyataan:
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