就地添加到文件开头
尝试使用追加模式 (' 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中文网其他相关文章!