2014-10-15 4 views
2

Это, вероятно, проблема окна и не питон один, но я озадачен:Python не разбор командной строки

Для большинства приложений в моей компании, мы вынуждены Python 2.4.2. Это не проблема в большинстве случаев, и моя установка python 2.4.2 работала так, как ожидалось.

На днях один из моих коллег продемонстрировал новую полезность, которую он создал, для которой требуется python 2.5, поэтому мы установили python 2.5 и прошли его демоверсию.

Когда он был сделан, я отключил 2.5 и переустановил 2.4.2. Именно тогда Python прекратил разбор аргументов командной строки.

При запуске командной строки ниже прилагаемого аргумента не разбирается:

C: \TEST >Template_Production_Test.py pt_template.inipt_template.ini 

Arguments: ['C:\\ TEST\\ Template_Production_Test.py'] 

свитки сценария через содержание ARGV, и явно работает, как он возвращается имя сценария, а не указывает на программу не найденный.

Если я запускаю тот же сценарий, но на этот раз использовать командную строку ниже:

C:\\TEST >python Template_Production_Test.py pt_template.inipt_template.ini 

Arguments: ['Template_Production_Test.py', 'pt_template.inipt_template.ini'] 

Это все работает.

Я понятия не имею, что происходит. Я удалил все и очистил папки, реестр и переменные среды, а затем снова установил с нуля. Никаких изменений в поведении.

Никто в компании не видел это раньше. У кого-нибудь есть идеи?

Python 2.4.2, работает на Win 7.

+0

Если я читаю его правильно, когда вы запускаете скрипт без «python» перед ним, скрипт запускается, но не получает аргументы за первое имя файла py. Если вы пишите python перед именем файла, все в порядке. Это верно? –

+0

аргументами, ссылающимися на значения в 'sys.argv'? – monkut

+0

Windows поддерживает самоисполняющиеся скрипты? Есть ли линия shebang? –

ответ

2

Кажется, duplicate. Вы должны искать в своем реестре, используя regedit.exe для C:\Python24\python.exe %1 и C:\Python25\python.exe %1. Вы должны внести изменения в C:\Python24\python.exe %1 %*.

С, что вы исправить две вещи:

  • неправильные пути питона
  • %* в конце концов передает аргументы снова

Будьте в курсе правильных путей файлов для python.exe в вашем конкретном случае ,

+0

Ни один из моих поисков не придумал первую публикацию. Во всяком случае, я попробую отредактировать мой реестр и посмотреть, устраняет ли он проблему. –

+0

Это будет ... удачи. ;) – wenzul

+0

'% 1% *' не только '% *'? –

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