Если я делаю test_folder.__init__
, который состоит из:доступа модули, импортированные в __init__ без непосредственного обращения к ним
constant1 = 1
from test_folder import moduleVar1
, а затем из родительского каталога, запустите следующий сценарий:
import sys
from test_folder import constant1
print(constant1)
print(sys.modules)
sys.modules
говорит мне это test_folder.moduleVar1
был импортирован.
Выход из sys.modules
:
'test_folder.moduleVar1': <module 'test_folder.moduleVar1' from 'C:...\test_folder\moduleVar1.py'>
Почему этот модуль показан как импортирован, когда я не указал его импортировать?
Я думаю, что все делается автоматически. Каждый раз, когда любой код Python изменяется и сохраняется, он перекомпилируется. Вы можете сделать несколько тестов, например, добавить 'print', чтобы проверить, что' db_migrate.py' принимает обновленные модели или нет – Valijon
Я думаю, что этот ответ удовлетворяет вашему вопросу [http://stackoverflow.com/a/8502348/3710490](http: //stackoverflow.com/a/8502348/3710490) – Valijon