Как сделать замену в строке .txt файла без создания новой строки?
txt файл содержит список:
14.05.2019 картофель \n
20.05.2018 лук, морковь\n
11.05.2018 баклажан
попробовал решить задачу следующим образом:
with open('E:/Gadgets/Список овощей.txt', "r+", encoding='cp1251') as f:
contents = f.readlines()
for i in iter(contents):
if "морковь" in i:
new_vegetable = "капуста"
f.write(i.replace("морковь", new_vegetable))
код замену осуществляет, но добавляет новую строку, а это не то, чего я добиваюсь
Ответы (1 шт):
Автор решения: Денис Степанов
→ Ссылка
Можно воспользоваться таким вариантом.
import fileinput
for line in fileinput.FileInput(path, inplace=True):
line = line.replace("морковь", "капуста")
print(line, end='')
Или так.
with open(file_path, "r") as file:
result_text = file.read().replace("морковь", "капуста")
with open(file_path, "w") as file:
file.write(result_text)