Pembukaan dan Penutupan Fail
Untuk membaca data dari fail teks bernama "data.txt ", anda perlu menggunakan kaedah" terbuka "yang disertakan dengan binaan Python rasmi. Periksa contoh kod di bawah:
f = buka ('data.txt ',' r ')f.tutup ()
Pernyataan pertama membuka “data.fail txt dalam mod "r" (baca sahaja). Kaedah "terbuka" menerima nama fail dan mod untuk mengendalikan fail sebagai argumen. Selain mod "r", ada mod lain juga yang akan dijelaskan kemudian. Coretan kod di atas tidak menjalankan sebarang operasi pada fail yang dibuka. Kaedah "tutup" digunakan untuk menutup file yang dibuka dengan bersih sehingga memori dapat dibebaskan dan untuk mengelakkan kerosakan data dalam file yang dibuka yang kadang-kadang dapat terjadi jika file tersebut tidak ditutup dengan baik.
Daripada menggunakan kaedah "buka" untuk menangani pembukaan dan penutupan fail, anda dapat menggabungkannya dengan kata kunci "dengan" dan menggunakan pernyataan "dengan terbuka".
dengan data terbuka ('.txt ',' r ') sebagai f:lulus
Kelebihan utama menggunakan pernyataan "dengan terbuka" adalah bahawa jurubahasa secara automatik menutup fail yang dibuka dengan selamat apabila blok kod "dengan terbuka" diuraikan sepenuhnya. Walaupun pengutip sampah di Python secara automatik menutup fail yang dibuka setelah beberapa saat mengikut peraturan yang telah ditetapkan, pernyataan "dengan terbuka" memastikan bahawa fail ditutup dengan bersih sebaik sahaja blok kod selesai untuk membebaskan sumber daya.
Garis Membaca Fail Teks
Untuk membaca kandungan fail, gunakan contoh kod di bawah:
dengan data terbuka ('.txt ',' r ') sebagai f:data = f.baca ()
mencetak (data)
Contohnya, jika "data.fail txt ”mempunyai 1-10 nombor, masing-masing pada baris baru, anda akan mendapat output berikut setelah menjalankan kod di atas:
12
3
4
5
6
7
8
9
10
Keseluruhan pembuangan data “data.fail txt "disimpan dalam pemboleh ubah" data ". Sekiranya anda ingin membaca baris ke senarai, anda boleh menggunakan contoh kod berikut:
dengan data terbuka ('.txt ',' r ') sebagai f:data = f.bacaan semula ()
cetak (data) dengan data terbuka ('.txt ',' r ') sebagai f:
data = senarai (f)
mencetak (data)
Perhatikan bahawa menggunakan coretan di atas dapat memberi anda watak "\ n" (barisan baru) di akhir setiap elemen dalam senarai. Untuk membuang watak barisan baru ini, anda mungkin perlu melihat senarai tersebut. Anda berdua boleh membuat senarai baru dan melucutkan watak barisan baru dengan menggunakan kod berikut:
data_list = []dengan data terbuka ('.txt ',' r ') sebagai f:
untuk garis di f:
senarai_ data.tambahkan (garis.jalur ())
cetak (senarai data)
Menjalankan kod di atas akan memberi anda output berikut:
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']Menulis Data ke Fail yang Dibuka
Untuk menulis data ke fail yang dibuka menggunakan pernyataan "dengan terbuka", anda harus memberikan mod pembukaan yang berbeza sebagai argumen. Berikut adalah beberapa mod:
- 'a' - digunakan untuk menambahkan data pada akhir fail yang dibuka, membuat fail baru jika tidak ada
- 'w' - menghapus kandungan fail yang dibuka dan menulis data baru, membuat fail baru jika tidak ada
- 'r' - mod baca sahaja (mod lalai jika tidak ada argumen diberikan)
- 'r +' - digunakan untuk membaca dan menulis (kedudukan awal adalah pada awal fail)
- 'b' - fail dibuka dalam mod binari (berguna untuk fail binari bukan teks), boleh digabungkan dengan mod lain
- 'a +' - digunakan untuk membaca dan menambahkan, membuat fail baru jika tidak ada
- 'w +' - digunakan untuk membaca dan menulis, membuat fail baru jika tidak ada
Beberapa coretan kod menggunakan mod yang berbeza untuk menulis data disenaraikan di bawah.
Untuk menulis kandungan baru ke fail teks sambil menghapus data yang ada, gunakan contoh berikut:
dengan data terbuka ('.txt ',' w ') sebagai f:f.tulis ("1 \ n2")
Setelah menjalankan coretan di atas, 1-10 nombor dalam "data.fail txt ”harus diganti dengan dua baris baru.
Untuk menambahkan baris di awal fail teks, anda perlu menggunakan kaedah "cari" untuk kembali ke posisi awal penyangga fail:
dengan data terbuka ('.txt ',' r + ') sebagai f:data = f.baca ()
f.mencari (0)
f.tulis ("- 1 \ n0 \ n")
f.tulis (data)
Setelah menjalankan coretan di atas, angka -1 dan 0 akan ditambahkan ke dua baris teratas dalam “data.fail txt ”.
Untuk menambahkan data di akhir fail, gunakan contoh berikut:
dengan data terbuka ('.txt ',' a ') sebagai f:f.tulis ("11 \ n12")
Setelah menjalankan coretan di atas, 11 dan 12 nombor akan ditambahkan di akhir fail.
Kesimpulannya
Kelas dan kaedah terbina dalam Python menyediakan kaedah yang kuat untuk mengendalikan fail teks. Dengan hanya beberapa baris kod anda dapat memanipulasi data yang ada dalam fail serta memasukkan baris baru.