首页  >  文章  >  后端开发  >  如何在 Python 中在文件开头添加一行?

如何在 Python 中在文件开头添加一行?

Linda Hamilton
Linda Hamilton原创
2024-11-02 10:50:30470浏览

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