Python menawarkan cara mudah untuk berinteraksi dengan fail menggunakan fungsi terbina dalamnya. Fungsi teras berkisar di sekitar open ()
function, yang mengambil laluan fail dan mod sebagai argumen. Mari kita terokai membaca dan menulis:
Untuk membaca fail, anda biasanya menggunakan
Kandungan. end = & quot; & quot;) # end = & quot; & quot; Menghalang Newline Tambahan # Baca semua baris ke dalam fail. dengan untuk baris dalam fail
membaca baris demi baris, dan readlines ()
membaca semua baris ke dalam senarai. dengan terbuka (...) sebagai fail:
construct memastikan fail ditutup secara automatik walaupun ralat berlaku.
Kaedah write ()
menambah kandungan ke fail.
<code class="python"> cuba: dengan buka (& quot; my_new_file.txt & quot;, & quot; w & quot;) sebagai fail: file.write (& quot; terbuka (& quot; my_new_file.txt & quot;, & quot; a & quot;) sebagai fail: #Append mod file.write (& quot; baris ini dilampirkan. fail dan gagal jika seseorang sudah wujud. Ingat untuk memasukkan aksara newline (<code> \ n </code>) untuk rehat garis yang betul. <h2> Apakah mod fail yang berbeza yang tersedia dalam python untuk fail i/o? </h2> Membuka fail untuk membaca. Ini adalah mod lalai. Ralat berlaku jika fail tidak wujud. <strong> 'w' (tulis): </strong> Membuka fail untuk menulis. Mewujudkan fail baru jika ia tidak wujud, dan menimpa kandungan jika ia berlaku. Sekiranya fail itu wujud, ralat dibangkitkan. Sekiranya fail itu wujud, data baru dilampirkan hingga akhir; Jika tidak, fail baru dibuat. Membuka fail dalam mod binari, sesuai untuk fail bukan teks (imej, executable, dan lain-lain). Ini adalah mod lalai dan digunakan untuk fail teks. Ia mengendalikan watak -watak baru mengikut konvensyen sistem. <li> <strong> '' (kemas kini): </strong> digunakan dengan mod lain ('r', 'w', 'a', 'x'). Membolehkan membaca dan menulis ke fail. 'R' membolehkan membaca dan menulis dari awal, 'w' menimpa, dan 'a' appends. </li> <p> Mod ini boleh digabungkan. Sebagai contoh, <code> & quot; r b & quot; </code> Membuka fail untuk kedua -dua membaca dan menulis dalam mod binari. Kod yang teguh harus mengendalikannya dengan anggun. Pendekatan yang paling biasa adalah menggunakan <code> try-except </code> blocks: </p> <pre class="brush:php;toolbar:false"> <code class="python"> cuba: dengan buka (& quot; my_file.txt & quot;, & quot; r & quot; terbuka (& quot; my_file.txt & quot;, & quot; w & quot;) sebagai fail: file.write (& quot; file created. & quot;) kecuali kebenaran: cetak (& quot; kebenaran ditolak. Kesalahan yang tidak dijangka berlaku: {e} & quot;) </code>
Contoh ini menangkap pengecualian tertentu ( fileNotFoundError
, PermissionError
, osError
Sentiasa menjadi spesifik apabila mungkin untuk mengendalikan kesilapan dengan berkesan.
Berikut adalah beberapa amalan terbaik:
untuk
gelung seperti yang ditunjukkan dalam contoh pertama. Ini lebih cekap memori untuk fail besar. mmap
(memori pemetaan). Ini memaparkan sebahagian daripada fail ke memori, yang membolehkan akses yang cekap ke bahagian tertentu tanpa memuatkan keseluruhan fail. Break #Process the Chunk #... #Memory Pemetaan Contoh dengan terbuka (& quot; large_file.txt & quot;, & quot; r b & quot;) sebagai f: mm = mmap.mmap (f.fileno (), 0) aplikasi khusus dan bagaimana fail diakses. Untuk pemprosesan berturut -turut, garis lelaran mengikut baris atau menggunakan buffered I/O biasanya mencukupi. Untuk akses rawak, pemetaan memori mungkin lebih sesuai. Untuk fail yang sangat besar yang melebihi RAM yang ada, pertimbangkan untuk menggunakan perpustakaan khusus seperti dask
atau vaex
yang mengendalikan pengiraan luar. Atas ialah kandungan terperinci Bagaimana saya membaca dan menulis fail di Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!