Я знаю, что я уже опубликовал аналогичный вопрос, но этот вариант отличается, и у меня больше кода. Поскольку последний вопрос был отклонен (хотя ответы были полезны для меня), мода могла удалить его, чтобы не загромождать форум.Удаление каждого второго появления слова в txt-файле (Python) l
В любом случае, надеюсь, никто меня не раздражает, задавая другой вопрос, пытающийся достичь моей цели.
Я пытаюсь удалить каждое нечетное вхождение имени в txt-файл. Есть две частей к моему вопросу:
а) почему я получаю AttributeError: 'str' object attribute replace is read-only
б) я буду об этом правильном пути, используя шаблон аккумулятора или есть лучший способ сделать это? Кто-то еще предложил использовать модуль re
, но так как я новичок, и я мало что знаю об этом, я пока что пытаюсь его избежать.
Это мой код до сих пор:
f = open("old_text.txt")
temp = f.read()
f.close
new_file = open("new_text.txt", "w")
counter = 0
name = "Courtney"
for number in range(temp.count(name)):
counter = +1
temp.find("Courtney")
if counter % 2 == 0:
pass
else:
temp.replace = ("Courteny", "")
new_file.write(temp)
new_file.close
Так что я хочу, чтобы удалить первое вхождение «Courtney», но не второй и так далее до конца файла. Затем запишите результаты в новый файл.
Любая помощь очень ценится,
Пушистый
Вы не закрываем файл с 'f.close'. Вам нужно вызвать функцию ('f.close()'). – Matthias