2014-10-02 3 views
2

Предположим, у меня есть сценарий под названием «run.py», как я могу это сделать?Как запустить скрипт .py прямо из cmd?

C:\Users\Administrator>run 

И этот скрипт будет выполнен. Обратите внимание, что я не хочу, чтобы «.py» показывался после «run». Я использую python 3.3.5, и я попытался поместить 'C:/python33' в путь переменной среды. Но это не сработало. Кажется, что он работает только тогда, когда это файл .exe.

Заранее спасибо.

ответ

4

Вам необходимо будет добавить .py в переменную окружения PATHEXT.

С Python на Windows, часто задаваемые вопросы, How do I make Python scripts executable?

В Windows стандартный установщик Python уже связывает .py расширение с типом файла (Python.File) и дает этот файл типа открытую команду который запускает интерпретатор (D:\Program Files\Python\python.exe "%1" %*). Этого достаточно, чтобы выполнить сценарии из командной строки как «foo.py». Если вы предпочитаете , то сможете выполнить скрипт, просто набрав 'foo' без расширения , вам нужно добавить .py в переменную окружения PATHEXT.

Точный способ настройки переменных окружения зависит от разных версий Windows, но this link может помочь вам.

+1

Выполнение, как это использует ['ShellExecuteEx'] (http://msdn.microsoft.com/en-us/library/windows/desktop/bb762154%28v=vs.85%29.aspx), поэтому файлы дескрипторов aren 't унаследован от родительской оболочки. Таким образом, чтобы передавать данные в или из или перенаправлять файлы, вам все равно необходимо запустить Python напрямую, например. 'some_command | python run.py> out.txt'. В этом случае оболочка вызывает ['CreateProcess'] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx) непосредственно с помощью' bInheritHandles' как значение TRUE. – eryksun

Смежные вопросы