Membaca dan Menulis Fail Serentak: Panduan Ringkas
Membuka fail secara eksklusif untuk sama ada membaca atau menulis adalah tugas yang mudah. Walau bagaimanapun, situasi mungkin timbul di mana mengakses fail kedua-dua cara adalah perlu. Artikel ini menangani keperluan ini dan menyediakan penyelesaian untuk membuka fail untuk membaca dan menulis.
Latar Belakang
Percubaan untuk membuka fail untuk membaca dan menulis menggunakan mod tradisional 'r' atau 'w' tidak disokong oleh fungsi open() dalam Python. Sebagai penyelesaian, seseorang mungkin menggunakan membuka fail untuk menulis, menutupnya, dan kemudian membukanya semula untuk membaca. Proses berulang ini boleh menjadi tidak cekap dan tidak praktikal.
Penyelesaian
Python menyediakan penyelesaian yang elegan dengan mod 'r ', yang membolehkan fail dibuka untuk kedua-dua bacaan dan menulis. Apabila dibuka dengan mod ini, penuding fail bermula pada permulaan dan fail dipotong kepada panjang sifar jika wujud.
Penggunaan
Contoh berikut menunjukkan cara untuk membaca fail, menulis ganti kandungannya dan memotongnya ke panjang yang sesuai tanpa menutup dan membuka semula:
<code class="python">with open(filename, "r+") as f: data = f.read() f.seek(0) f.write(output) f.truncate()</code>
Dalam blok kod ini, pernyataan 'dengan' membuka fail bernama 'nama fail' dalam bacaan- mod tulis menggunakan bendera 'r'. Data dalam fail dibaca menggunakan kaedah 'baca()' dan disimpan dalam pembolehubah 'data'.
Penunjuk fail kemudiannya ditetapkan semula ke permulaan fail menggunakan kaedah 'seek()' dengan hujah 0. Ini membolehkan kami menulis pada fail bermula dari aksara pertama.
Kaedah 'write()' digunakan untuk menulis ganti data sedia ada dengan kandungan baharu yang disimpan dalam 'output' pembolehubah. Akhir sekali, kaedah 'truncate()' memastikan bahawa fail dipotong ke kedudukan semasa penuding fail, menghasilkan fail dengan kandungan yang dikemas kini bermula dari awal.
Atas ialah kandungan terperinci Bagaimana untuk Membaca dan Menulis ke Fail Secara serentak dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!