В связи с тем, как работает Python, ему необходимо запускать ваши модули при их импорте.
Чтобы запретить выполнение кода в модуле при импорте, но только при непосредственном запуске, вы можетеЗащитите его этим if
:
if __name__ == "__main__":
# this won't be run when imported
Возможно, вы захотите поместить этот код в метод main()
, чтобы вы могли либо выполнить файл напрямую, либо импортировать модуль и вызвать main()
.Например, предположим, что это в файле foo.py
.
def main():
print "Hello World"
if __name__ == "__main__":
main()
Эта программа может быть запущена либо с помощью команды python foo.py
, либо из другого скрипта Python:
import foo
...
foo.main()