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

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

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

  • Нужен скрипт для уничтожения процесса python с низким потреблением процессора
  • Crontab не дает результата
  • Могу ли я изменить владельца туннеля после его создания?
  • add-apt-repository вызывает ошибку Python
  • Пользовательский python REPL с fifos
  • Установка Python не выполняется в chroot
  • Как загрузить данные в одну таблицу из нескольких файлов excel?
  • Как заменить «базовую системную оболочку» на IPython?
  • 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 - лучшая ОС в мире.