Я пишу переводчик, который понимает английские команды, например, «скажем, Hello World». Код Python читает входные данные из стандартного ввода. У меня нет проблем с этим. Затем он переводит его в код Python и добавляет его в файл. Опять без проблем. Тогда у меня есть функция, которая запускает код в файле. Функция выглядит так:
def run(runfile):
with open(runfile,"r") as rnf:
exec(rnf.read())
Тогда я просто пишу:
run("file.py")
Затем я запускаю код в файле и моделирую вывод.
Затем я открываю файл, как будто для записи в него, а затем закрываю его в конце программы (в последней строке), чтобы удалить содержимое файла следующим образом:
open("file.py", "w").close()
Проблема в том, что когда я набираю английские команды и запускаю файл, он работает правильно. Затем я набираю другую английскую команду, и она запускает вывод из предыдущего выполнения. Затем я запускаю его снова, и он работает правильно. Почему это происходит и как я могу это исправить? (Не стесняйтесь задавать вопросы о моем коде)