Я не совсем уверен, что вы это имеете в виду, так что не стесняйтесь меня поправлять. Вы импортируете модуль - давайте назовем его mymodule.py - в вашей программе, но когда вы меняете его содержимое, вы не видите разницы?
Python не будет искать изменения в mymodule.py при каждом его использовании, он загрузит его в первый раз, скомпилирует в байт-код и сохранит его внутри. Обычно он также сохраняет скомпилированный байт-код (mymodule.pyc). В следующий раз, когда вы запустите свою программу, она проверит, является ли mymodule.py более поздней версией, чем mymodule.pyc, и перекомпилирует ее при необходимости.
Если вам нужно, вы можете явно перезагрузить модуль:
import mymodule
[... some code ...]
if userAskedForRefresh:
reload(mymodule)
Конечно, это сложнее, и у вас могут быть побочные эффекты в зависимости от того, что вы делаете со своей программой в отношении другого модуля, например, если переменные зависят от классов, определенных в mymodule.
В качестве альтернативы, вы можете использовать функцию execfile
(или exec()
, eval()
, compile()
)