Python поддерживает несколько способов запуска скрипта. Обычный вариант — это python foo.py
; в этом случае foo.py
просто выполняется.
Однако, можно также использовать python -m foo
. Если foo
— это не пакет, то foo.py
ищется в sys.path
и выполняется. Если это пакет, то Python сначала выполняет foo/__init__.py
, а затем foo/__main__.py
. Обратите внимание, что во время выполнения __init__.py
значение __name__
равно foo
, но во время выполнения __main__.py
оно равно __main__
.
Можно также запустить Python с каталогом: python dir/
или даже python dir.zip
. В этом случае Python ищет dir/__main__.py
и выполняет его, если находит.
Пример:
$ ls foo
__init__.py __main__.py
$ cat foo/__init__.py
print(__name__)
$ cat foo/__main__.py
print(__name__)
$ python -m foo
foo
__main__
$ python foo/
__main__
$ python foo/__init__.py
__main__
👉@BookPython
>>Click here to continue<<