就地加入到檔案開頭
嘗試使用追加模式(' a'),由於檔案指標會自動前進到結尾,使用者可能會在文件末尾遇到不想要的寫入。
要克服此限制並真正在文件開頭添加一行,可以採用多種方法:
方法一:讀取並重寫文件
如果可以將整個檔案載入到記憶體中,可以使用以下函數:
<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>
此方法將檔案的內容載入到變數content 中,允許將行新增至前面並將修改的內容重寫到文件的開頭。
方法2:使用檔案輸入模組
另一種方法涉及使用fileinput 模組:
<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, else: print xline,</code>
此方法迭代檔案的行,當遇到第一行時,在其前面新增指定的行列印兩行。
此方法的確切機制尚不完全清楚,但它允許就地編輯文件,而無需將整個內容加載到內存中,這可能使其適合較大的文件。
以上是如何在 Python 中在文件開頭新增一行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!