В общем, если у вас есть один файл Python, который вы запускаете как скрипт, все в порядке.Когда вы запускаете файл, он компилируется в байт-код, который затем выполняется.Вы можете изменить исходный сценарий на этом этапе, и ничто не сломается.
Однако мы можем сознательно сломать его, написав какой-то ужасный, но законный код, подобный этому:
horrible.py
:
from time import sleep
sleep(10)
import silly
silly.thing()
silly.py
:
def thing():
print("Wow!")
Вы можете запустить horrible.py
, и пока он работает, вы можете отредактировать silly.py
на диске, чтобы заставить его делать что-то еще.Когда silly.py
наконец-то import
ed, будет загружена обновленная версия.
Обходной путь - поместить все ваши импортные файлы в начало файла, что вы, вероятно, все равно делаете.