Menambah Baris pada Permulaan Fail
Mengubah suai permulaan fail boleh menjadi mencabar, terutamanya jika fail itu besar. Secara tradisinya, fail berasingan digunakan sebagai penyelesaian. Walau bagaimanapun, terdapat cara yang lebih cekap untuk mencapai ini menggunakan Python.
Memahami Mod Fail
Apabila membuka fail dalam mod tambah ('a'), sebarang tulisan adalah diarahkan ke hujung fail, tanpa mengira kedudukan semasa penuding fail. Ini bermasalah apabila cuba mengubah suai permulaan fail.
Penyelesaian 1: Memuatkan Fail ke dalam Memori
Untuk fail yang lebih kecil yang boleh dimuatkan ke dalam memori, coretan kod berikut boleh digunakan:
<code class="python">def line_prepender(filename, line): with open(filename, 'r+') as f: content = f.read() f.seek(0, 0) f.write(line.rstrip('\r\n') + '\n' + content)</code>
Kaedah ini membaca keseluruhan fail ke dalam memori, menambahkan baris baharu pada permulaan dan menulis semula fail.
Penyelesaian 2: Menggunakan input fail
Untuk fail yang lebih besar, modul input fail boleh berguna:
<code class="python">def line_pre_adder(filename, line_to_prepend): f = fileinput.input(filename, inplace=1) for xline in f: if f.isfirstline(): print(line_to_prepend.rstrip('\r\n') + '\n' + xline, end='') else: print(xline, end='')</code>
Kaedah ini lebih cekap untuk fail besar kerana ia tidak memuatkan keseluruhan fail ke dalam memori. Ia melelar melalui fail baris demi baris, mencetak baris baharu pada permulaan baris pertama dan kemudian baris selebihnya tidak diubah suai. Ambil perhatian bahawa kaedah ini memerlukan fail boleh ditulis.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Baris dengan Cekap pada Permulaan Fail dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!