Вопрос: В командной строке, как я называю сценарий Python, не имея необходимость вводить python
перед названием сценария? Это даже возможно?
Информация:
Я записал удобный сценарий для доступа sqlite базы данных из командной строки, но я отчасти не люблю иметь необходимость ввести "Python SQLsap args" и просто ввел бы "SQLsap args". Я не знаю, возможно ли это даже, но было бы хорошо знать, ли это. Для больше, чем просто этой программы.
Вы можете добавить shebang в первую строку сценария:
#!/usr/bin/env python
Это сообщит вашей текущей оболочке, в какую команду вводить сценарий.
Предполагая, что это в системе unix, вы можете добавить «shebang» в начало файла следующим образом:
#! / Usr / bin / env python
И затем установить флаг исполняемого файла, как это :
chmod + x SQLsap
Тебе нужен шебанг. #! / Путь / к / python
. Поместите это в первую строку вашего скрипта Python. #!
на самом деле является магическим числом, которое указывает операционной системе интерпретировать файл как сценарий для указанной программы. Вы можете указать / usr / bin / python
или, для большей переносимости, / usr / bin / env python
, который вызывает / usr / bin / env
программа и сообщает ей, что вы хотите, чтобы в системе был установлен интерпретатор Python.
Вам также придется поместить свой скрипт в свой путь, если вы не можете ввести ./ SQLsap args
.
В 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 __
.