2015-10-24 3 views
0

Я пытаюсь выполнить горячую замену файла в python. Я создаю игру, которая занимает очень много времени для загрузки. Но я не хочу перезагружать его каждый раз. Я пытаюсь изменить код во время выполнения программы. Например: Я хочу изменить это:Как горячая замена текущего файла в python

while True: 
    print("Hello") 

к этому некоторому времени во время выполнения:

while True: 
    print("Hello World") 

Я посмотрел горячую замену для питона и все из них ответов, которые я не ищу , Все остальные ответы меняют модули. Я хочу изменить текущий файл. Как java в затмении. Пожалуйста помоги!

+1

Мне непонятно, что вы пытаетесь сделать. Вы хотите изменить код модуля, который уже был загружен? Модуль _current_? Вы хотите текстовое изменение файла на диске? Вы хотите динамически переписать код во время загрузки модуля? Пожалуйста, отредактируйте свой вопрос] (http://stackoverflow.com/posts/33316825/edit) и уточните. Было бы полезно, если бы вы объяснили, что сказали уже существующие ответы, и почему они вас не устраивают. Было бы также полезно, если бы вы сказали нам, почему вы хотите это сделать. –

ответ

0

Я хочу изменить текущий файл. Как java в затмении.

При изменении кода Java в Eclipse, код не запущен. В действительности Eclipse имеет встроенный компилятор Java, который пытается скомпилировать ваш код при его вводе. Именно так Eclipse может дать вам такую ​​быструю обратную связь о синтаксических ошибках и ошибках типа в вашем коде. Но это не может предоставить вам любую информацию о режиме выполнения вашего кода (независимо от того, производит ли он правильный ответ), потому что он не запускает код! Вам нужно нажать кнопку Запустить.

Так что я думаю, что вопрос, который вы действительно хотите задать, это не «Могу ли я динамически модифицировать код Python?» (ответ на этот вопрос: «Да, но это сложно и имеет оговорки, и это не очень хорошая идея»), но «существует ли среда разработки Python, которая может дать мне отзыв о синтаксических ошибках во время ввода?» Ответ на это - решительный «Да!». Существует чрезвычайно полный список опций в this answer.

+0

Можете ли вы рассказать мне, как изменить текущий код? –

+0

Почему вы хотите это сделать? Это не работает Eclipse. –

+0

Нет, изменить код python в IDLE –

0

Вы можете использовать динамическое выполнение с использованием функции exec. Сохраните код, который вы хотите исполнить в строке, и измените его во время выполнения.

 Смежные вопросы

  • Нет связанных вопросов^_^