Python метод replace и f-string
Есть f-строка с текстом, который мне нужно изменить. Изменить не только значение переменной, но и сохранить изменения в файл, чтоб при перезапуске программы строка не возвращалась к своему изначальному значению.
Вот так всё работает правильно:
text = "Simple text."
def text_change(new_text):
global text
old = text
new = new_text
text = text.replace(old, new) # меняю значение переменной
with open("main.py", "r") as file: # открываю файл
old_data = file.read()
new_data = old_data.replace(old, new) # нахожу в нём нужную мне строку и изменяю её
with open("main.py", "w") as file: # сохраняю изменения в файле
file.write(new_data)
file.close() # закрываю поток
text_change(new_text="New simple text.") # запускаю функцию
Функция корректно работает, изменяется значение переменной, файл перезаписывается, при перезапуске программы изменения сохраняются.
Но если изменить переменную text на:
f_text = "f-string"
text = f"Simple text with using\n" \
f"{f_text}"
Текст в переменной меняется, но изменения не записываются в файл. При перезапуске программы, переменная text возвращается к своему стандартному значению.
Как правильно адаптировать мою функцию под изменение f-строк?