Считайте весь файл в память, внесите необходимые изменения, затем запишите эти изменения в тот же файл.
Итак, базовый c фрагмент кода, который делает то, что вы хотите:
def replace_and_write(fn: str, exact_match: str, replacement: str) -> None:
with open(fn, "r") as f_in:
contents = f_in.read()
with open(fn, "w") as f_out:
f_out.write(contents.replace(exact_match, replacement))
replace_and_write("test.txt", "foo", "Hello, World!")
Запуск этого файла, который имел вид:
foo
bar
baz
Изменит его на:
Hello, World!
bar
baz