Untuk menggantikan baris tertentu dalam fail teks dalam Python, pertimbangkan penggunaan modul input fail. Kaedah ini mengelakkan memuatkan keseluruhan fail ke dalam memori, menjadikannya cekap untuk fail besar.
import fileinput with fileinput.input("test.txt", inplace=True) as f: for line in f: if "foo" in line: print(line.replace("foo", "bar"), end='')
Dengan kod ini, fail asal dinamakan semula kepada sandaran dan standard output diarahkan untuk menulis ke dalam fail asal dalam gelung. Sebarang pernyataan cetakan di dalam gelung mengubah suai kandungan fail secara langsung.
Untuk kebolehbacaan, pertimbangkan pilihan eksplisit ini:
Pilihan 1 (Untuk Fail Kecil ):
with open("test.txt", "r") as f: lines = f.readlines() with open("test.txt", "w") as f: for line in lines: if "foo" in line: f.write(line.replace("foo", "bar")) else: f.write(line)
Pilihan 2 (Untuk Besar Fail):
import tempfile with open("test.txt") as original, tempfile.NamedTemporaryFile(delete=False) as temp: for line in original: if "foo" in line: temp.write(line.replace("foo", "bar").encode()) else: temp.write(line.encode()) temp.flush() os.replace(temp.name, "test.txt")
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Baris dengan Cekap dalam Fail Teks Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!