Запуск сценария python с терминала без расширения .py

Я хочу вызвать скрипт python script.py из терминала, просто набрав скрипт . Это возможно? Если да, то как?

Я знаю, что могу избежать ввода python script.py , добавив #! / Usr / bin / env python в начало скрипта, но мне все равно нужно добавить суффикс .py для запуска скрипта.

  • ffmpeg веб-камера для драйвера устройства, выход 8-битный оттенки серого
  • Как получить все файлы определенного типа из виртуального веб-пути?
  • Что включать в RPM, созданный из пакетов python
  • Как управлять огромным количеством файлов в оболочке?
  • Запустите мой веб-сервер с помощью диспетчера
  • CentOS: Как заставить pip установить Django с последним Python 3.5
  • Включены ли Redhat и CentOS с предустановленной zlib?
  • Отправка вывода из 'dd' в awk / sed / grep
  • 3 Solutions collect form web for “Запуск сценария python с терминала без расширения .py”

    Файловые системы Unix / Linux не полагаются на расширения, как это делают окна. Вам не нужно использовать .py в конце файла для его запуска.

    Вы можете запустить файл, вызвав его с помощью интерпретатора:

     python ScriptFile 

    Или путем маркировки его исполняемого файла и определения интерпретатора в первой строке (например, #!/usr/bin/python ).

    Если вы не можете выполнить файл с помощью:

     /Path/to/ScriptFile 

    проверить разрешения с помощью

     ls -l ScriptFile 

    Вам может потребоваться добавить исполняемый флаг и chmod чтобы он выполнялся для вас.

    Если вы регулярно используете настраиваемые сценарии, вы можете захотеть убедиться, что каталог, в котором они хранятся, добавлен в PATH среды PATH .

    Для запуска скрипта не .py расширение .py . Вам нужно только сделать исполняемый файл сценария (например, запустив chmod a+x script ) и добавить строку shebang ( #!/usr/bin/env python ).

    В качестве опции вы можете создать оболочку для своего скрипта (файл .py ):

    Например, у вас есть скрипт runme.py чтобы вы могли создать новую файловую runme для runme скрипта:

     #!/usr/bin/env python import runme 

    а затем вызовите функцию runme.py просто вызвав runme в оболочке.

    Это полезно для многоплатформенных скриптов, поэтому на платформе Windows вы можете назначить файлы .py для вызова только по имени без расширения и shebang в заголовке, но на платформе Linux вы не можете и, таким образом, обертка выходит.

    Linux и Unix - лучшая ОС в мире.