Что означает символ "#!" означает в Python?
Что означает эта строка кода? Без него мой http-сервер python3 не сможет понять и позволить браузеру загружать пустой .py файл (зависит от ссылки на файл .py)
#! /usr/local/bin/python3
Ответы
Ответ 1
Это не вещь Python, это hashbang (или shebang) строка, которая указывает, какой интерпретатор должен обработать файл.
Правила различаются, но в простейшей форме файл с именем xyz
(содержащий его как первую строку) при запуске из командной строки с xyz
запускает его с использованием этого интерпретатора, аналогично
/usr/local/bin/python3 xyz
Ответ 2
Это не специфическое для python понятие, см. http://en.wikipedia.org/wiki/Shebang_(Unix)
Ответ 3
Это строка shebang/hashbang и Linux/UNIX, а не Python-связанные вообще.
При выполнении файла ядро увидит магию #!
и использует все, что приходит после нее, для выполнения script. Фактическая программа, запускаемая ядром, будет program-from-shebang script-file-path [script-args]
Обратите внимание, что обычно не рекомендуется включать путь .../local/...
, а скорее использовать, например. #!/usr/bin/env python3
, что приведет к поиску python3
в текущем PATH, который гораздо более портативен.
Ответ 4
Это не специфично для python, но называется Shebang и сообщает операционной системе, с какой программой запускается этот script.
Ответ 5
UNIX Shebang? См. http://en.wikipedia.org/wiki/Shebang_(Unix)
. Пробел между !
и первым /
, вероятно, не должен быть там.