Мне нужен самый простой способ изменить содержимое файла, используя скрипт python - PullRequest
1 голос
/ 24 февраля 2020

У меня есть python файл "main.py", в котором есть некоторый код. Мне нужна простая функция python, чтобы найти и заменить определенную строку кода в нем. Пример: main.py содержит

@receiver(post_save, sender=User)
def index_user(sender, instance, **kwargs):
    if validate_checks(instance):
        index_model(instance)

Мне нужна функция, чтобы изменить приведенный выше код в

# @receiver(post_save, sender=User)
def index_user(sender, instance, **kwargs):
    if validate_checks(instance):
        index_model(instance)

1 Ответ

0 голосов
/ 24 февраля 2020

Считайте весь файл в память, внесите необходимые изменения, затем запишите эти изменения в тот же файл.

Итак, базовый 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...