如何在python3中将文本添加到文件

时间:2018-12-04 18:22:55

标签: python-3.x

假设我有以下文件,

dummy_file.txt(以下内容)
第一行
第三行

我怎么能在中间添加一行到文件,所以最终结果是:

第一行
第二行
第三行

我已经考虑过使用append选项打开文件,但是这会将行添加到文件末尾。

2 个答案:

答案 0 :(得分:1)

with open("dummy_file.txt", 'r') as file:
    lines = file.readlines()
    lines.insert(1, "second line\n")
    with open("dummy_file.txt", 'w') as output:
        output.writelines(lines)

所以:

  1. 我们打开文件并读取所有列出列表的行。
  2. 我们在列表中插入所需的新行,并使用\n作为新行。
  3. 我们再次打开文件,但这一次是要写的。
  4. 我们写出列表中的所有行。

但是我不推荐这种方法,因为它会占用更多的内存(如果文件很大)。

答案 1 :(得分:0)

标准文件方法不支持插入文件中间。您需要读取文件,将新数据添加到读取的数据中,然后重新写入整个文件。