Вопрос:

Как запустить скрипт Python из командной строки, используя одно слово

python bash command-line-interface .bash-profile

788 просмотра

3 ответа

1335 Репутация автора

На этот вопрос уже есть ответ здесь:

Поэтому я хочу сделать CLI, используя для этого пакет python, но я также хочу вызвать CLI с помощью простой команды, такой как «myCli», из любой точки моей учетной записи пользователя (или гибкой общесистемной системы).

Мое текущее решение состоит в следующем, но это кажется очень хакерским:

в ~ / scripts /

~/scripts me$ cat hiPython 
python ~/scripts/hi.py
~/scripts me$ cat hi.py
print("im python")

В bash_profile (на Mac):

export PATH="/Users/me/scripts:$PATH"

Это похоже на работу

~/Desktop me$ hiPython
im python

Есть ли менее хрупкий / опасный способ?

Автор: Bren Источник Размещён: 12.04.2017 01:41

Ответы (3)


1 плюс

1036 Репутация автора

Я не совсем понимаю ваш вопрос, но, возможно, сработает псевдоним?

> alias myCli="python ~/LocationOfPythonFile/hiPython.py
> myCli
> im python

см. http://tldp.org/LDP/abs/html/aliases.html

Автор: Scheme Размещён: 12.04.2017 01:46

1 плюс

9081 Репутация автора

Типичный подход заключается в использовании #!обозначения (Google это как «Шебанг»).

Создайте один файл с именем hiPython. Используйте, chmodчтобы дать себе разрешение на его выполнение и убедиться, что он находится в каталоге, который указан в $PATH(вы, похоже, уже знаете, как выполнить оба этих шага). В файле убедитесь, что самая первая строка начинается с, #!а затем указывает, какой интерпретатор следует использовать для остальной части файла:

#!/usr/bin/python
print("I'm Python")

Люди очень часто используют envв этом контексте для гибкости:

#!/usr/bin/env python
print("I'm Python")

поскольку он находит первый pythonдвоичный файл в вашей текущей $PATHверсии, а не в жестко заданной версии / дистрибутиве python.

NB: это не уникально для Python. Вы можете использовать этот метод, чтобы связать любой файл с любым исполняемым файлом, который вам нравится. Есть несколько творческих применений этого, но обычно это для связи сценария с его интерпретатором.

Автор: jez Размещён: 12.04.2017 01:51

3 плюса

5519 Репутация автора

Решение

Вам нужно сделать три вещи.

  1. Добавьте #!/usr/bin/python(или любой другой подходящий путь к вашему интерпретатору) в качестве первой строки в вашем скрипте
  2. chmod +x ваш скрипт, чтобы пометить его как исполняемый
  3. Убедитесь, что скрипт находится в каталоге, который находится в PATHпеременной окружения

Я бы порекомендовал удостовериться, что его имя уникально, чтобы избежать столкновения с чем-либо еще в системе.

Автор: Fred Размещён: 12.04.2017 01:59
Вопросы из категории :
32x32