У меня установлен Python 2.5 в Windows XP и набор скриптов, доступных в определенном каталоге. Согласно этому статья Автор: Аманда Бирмингем. Я могу настроить путь для исполняемого файла Python и путь, по которому находятся скрипты. Значит, я могу это сделать:
c:\>python script.py
Есть ли способ зарегистрировать файлы .py, чтобы я мог выполнять их так:
c:\>script.py
без включения Shebang или env строка в скрипте.
Меньше набора текста - хорошее. :)
Да :) Это на самом деле FAQ # 2:
Если вы предпочитаете запускать сценарий, просто набрав «foo» без расширения, вам нужно добавить .py в переменную среды PATHEXT.
Изменить: Конечно, не забудьте добавить каталог установки Python в PATH и запустить другой экземпляр вашего командного интерпретатора, если вы измените общесистемный или пользовательский PATH и / или PATHEXT средствами вне этого командного интерпретатора.
Дальнейшее редактирование: в случае, если я неправильно понял ваш вопрос: я предполагаю, что вас интересует только запуск скриптов python без необходимости вводить расширение .py из командной строки cmd.exe. PATHEXT - это механизм, специфичный для оболочки cmd.exe и других оболочек (а также CreateProcess()
и друзья) не заботится об этом ни в малейшей степени.
У меня была точно такая же проблема с PHP.
http://php.net/manual/en/install.windows.legacy.index.php#install.windows.legacy.commandline (Изменить: похоже, использование командной строки для PHP теперь "устаревшее")
Одна вещь, которую я обнаружил, - это возможность использовать скрипты PHP в качестве фильтров ...
DIR C:\ | scripts\script | more
(например, где scripts \ script - это сценарий PHP - ПРИМЕЧАНИЕ: нет ссылки на PHP).
Для этого требуется изменение реестра. Работает для всех этих языков типа интерпретатора в Windows (PHP, Python, Perl, Ruby).
PATHEXT позволит вам отказаться от ".py", но это не то, о чем вы спрашиваете, верно?
Если вы хотите связать расширение файла с приложением в Windows, вы можете:
Это инструкции для XP. Я предполагаю, что Vista и Win7 в основном одинаковы, хотя вы, вероятно, попадаете в список каким-то другим образом.