首頁 >後端開發 >Python教學 >如何在 Python 中在文件開頭新增一行?

如何在 Python 中在文件開頭新增一行?

Linda Hamilton
Linda Hamilton原創
2024-11-02 10:50:30506瀏覽

How to Prepend a Line to the Beginning of a File in Python?

就地加入到檔案開頭

嘗試使用追加模式(' 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn