在特定行之后添加行

use*_*818 8 python

我正在尝试将特定行添加到我的文件中的特定区域.我用这个:

new_file = open("file.txt", "r+")
 for line in new_file:
  if line == "; Include below":
     line = line + "\nIncluded text"
     new_file.write(line)
  else:
     new_file.write(line)
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,我的内容file.txt是重复的.

编辑:如果我的文件看起来像:

blablablablablablabal
balablablabalablablbla
include below
blablablablablabalablab
ablablablabalbalablaba
Run Code Online (Sandbox Code Playgroud)

我想让它看起来像:

blablablablablablabal
balablablabalablablbla
include below
included text
blablablablablabalablab
ablablablabalbalablaba
Run Code Online (Sandbox Code Playgroud)

afk*_*ion 13

阅读时无法安全地写入文件,最好将文件读入内存,更新文件并将其重写为文件.

with open("file.txt", "r") as in_file:
    buf = in_file.readlines()

with open("file.txt", "w") as out_file:
    for line in buf:
        if line == "; Include this text\n":
            line = line + "Include below\n"
        out_file.write(line)
Run Code Online (Sandbox Code Playgroud)