Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana saya membaca dan menulis fail di Python?

Bagaimana saya membaca dan menulis fail di Python?

Robert Michael Kim
Lepaskan: 2025-03-10 18:46:49
asal
322 orang telah melayarinya

Bagaimana saya membaca dan menulis fail dalam python?

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:

Membaca fail:

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.

Menulis fail:

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> 
Salin selepas log masuk

Contoh ini menangkap pengecualian tertentu ( fileNotFoundError , PermissionError , osError Sentiasa menjadi spesifik apabila mungkin untuk mengendalikan kesilapan dengan berkesan.

Apakah beberapa amalan terbaik untuk membaca dan menulis fail besar dalam Python?

Berikut adalah beberapa amalan terbaik:

  • Talian berulang demi baris: Elakkan memuatkan keseluruhan fail ke dalam memori sekaligus. Iterate melalui baris fail mengikut baris menggunakan untuk gelung seperti yang ditunjukkan dalam contoh pertama. Ini lebih cekap memori untuk fail besar.
  • Fail, menggunakan penjana dapat meningkatkan kecekapan memori. Penjana menghasilkan nilai atas permintaan, mengelakkan memuatkan keseluruhan fail ke dalam ingatan.
  • Chunking: Baca dan tulis fail dalam ketulan saiz tertentu dan bukannya memproses semuanya sekaligus. Ini meminimumkan penggunaan memori dan membolehkan kemas kini kemajuan.
  • Pemetaan memori: Untuk akses rawak ke fail besar, pertimbangkan untuk menggunakan 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!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan