Вызов сценария Python из командной строки, не вводя “Python” сначала

Вопрос: В командной строке, как я называю сценарий Python, не имея необходимость вводить python перед названием сценария? Это даже возможно?


Информация:

Я записал удобный сценарий для доступа sqlite базы данных из командной строки, но я отчасти не люблю иметь необходимость ввести "Python SQLsap args" и просто ввел бы "SQLsap args". Я не знаю, возможно ли это даже, но было бы хорошо знать, ли это. Для больше, чем просто этой программы.

8
задан Piotr Dobrogost 3 October 2012 в 19:35
поделиться

4 ответа

Вы можете добавить shebang в первую строку сценария:

#!/usr/bin/env python

Это сообщит вашей текущей оболочке, в какую команду вводить сценарий.

26
ответ дан 5 December 2019 в 04:59
поделиться

Предполагая, что это в системе unix, вы можете добавить «shebang» в начало файла следующим образом:
#! / Usr / bin / env python

И затем установить флаг исполняемого файла, как это :
chmod + x SQLsap

3
ответ дан 5 December 2019 в 04:59
поделиться

Тебе нужен шебанг. #! / Путь / к / python . Поместите это в первую строку вашего скрипта Python. #! на самом деле является магическим числом, которое указывает операционной системе интерпретировать файл как сценарий для указанной программы. Вы можете указать / usr / bin / python или, для большей переносимости, / usr / bin / env python , который вызывает / usr / bin / env программа и сообщает ей, что вы хотите, чтобы в системе был установлен интерпретатор Python.

Вам также придется поместить свой скрипт в свой путь, если вы не можете ввести ./ SQLsap args .

4
ответ дан 5 December 2019 в 04:59
поделиться

В Windows или DOS вы можете приблизиться, поместив свой код Python в файл .BAT, подобный этому.

rem = ''' this line interpreted by BAT and PYTHON
@REM BAT-ONLY code begins now inside PYTHON comment
@echo off
python "%~dpnx0" %*
goto :eof
@REM CMD-ONLY code ends
'''

import sys
print sys.path

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

В идеале вы не должны помещать много кода Python в файл .BAT, а должны импортировать файл .py, а затем запустить его метод .__ main __ .

2
ответ дан 5 December 2019 в 04:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: