Я пытаюсь добавить определенные строки в определенную область в моем файле. Я использую это:Добавление строк после определенной строки
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)
Но по какой-то причине содержание моего file.txt
дублирует.
Edit: Если мой файл выглядит следующим образом:
blablablablablablabal
balablablabalablablbla
include below
blablablablablabalablab
ablablablabalbalablaba
Я хочу, чтобы сделать его выглядеть следующим образом:
blablablablablablabal
balablablabalablablbla
include below
included text
blablablablablabalablab
ablablablabalbalablaba
Я не думаю, что этот вопрос очень ясен. Я предлагаю вам добавить небольшой пример вашего .txt-файла перед обработкой, а затем небольшой пример того, как вы ожидаете, что этот файл будет выглядеть после обработки. Это, вероятно, сделает намного более понятным то, что вы пытаетесь достичь. – Dyrborg
[вы должны переделать новый файл и написать новое содержимое, если хотите использовать только python] (http://stackoverflow.com/questions/125703/how-do-i-modify-a-text-file-in -python) –
@sivatumma, в то время как это было моим твердым убеждением также, очевидно [это не так] (http://stackoverflow.com/a/1325927/3155195) (хотя, конечно, это просто автоматически создает буфер за сцены, как и следовало ожидать) – zehnpaard