@alekssamos
Программист любитель

Установка Python 3.6 на Win 32 проблема с расширениями и аргументами командной строки при запуске?

Если запускать так: script.py arg1 arg2 argN, то аргументы передаваться не будут,
а если так: python.exe script.py arg1 arg2 argN, то тогда будут.
Как сделать, чтобы и в первом случае аргументы передавались?
Редактирование
HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command
результата не принесло.
Пример ниже.
import sys
print("arguments:", str(len(sys.argv)))
for arg in sys.argv: print(arg)

запуск:
D:\>script.py arg1 arg2 argN && python.exe script.py arg1 arg2 argN
arguments: 1
D:\script.py
arguments: 4
script.py
arg1
arg2
argN


Кстати, лаунчер тоже не работает:
D:\>py
"py" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Хотя в инсталляторе (скрин ниже) галочки стоят.

При самой первой установке все было нормально, лаунчер тоже был, расширения .py и .pyw добавились автоматически, в общем, все было хорошо.
Затем я предыдущую версию удалил и хотел поставить другую. Вот после переустановки это и началось: и расширения файлов не сопоставились, и лаунчера нет, и никак они больше не устанавливаются.

5a6dedab5e9d1793411966.png
  • Вопрос задан
  • 265 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alekssamos Автор вопроса
Программист любитель
1. Решение: чтобы передавались аргументы:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\pyw_auto_file\shell\open\command]
@="\"C:\\Users\\Alexey\\AppData\\Local\\Programs\\Python\\Python36-32\\pythonw.exe\" \"%1\" %*"

[HKEY_CLASSES_ROOT\Applications\pythonw.exe\shell\open\command]
@="\"C:\\Users\\Alexey\\AppData\\Local\\Programs\\Python\\Python36-32\\pythonw.exe\" \"%1\" %*"

[HKEY_CLASSES_ROOT\py_auto_file\shell\open\command]
@="\"C:\\Users\\Alexey\\AppData\\Local\\Programs\\Python\\Python36-32\\python.exe\" \"%1\" %*"

[HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command]
@="\"C:\\Users\\Alexey\\AppData\\Local\\Programs\\Python\\Python36-32\\python.exe\" \"%1\" %*"

* разобраться в параметрах мне помогла программа FileTypesMan nirsoft

2. А вот почему установщик не ассоциирует эти расширения и не устанавливает Python Launcher (при второй и последующих установках) (галочки на месте) - этот вопрос остается открытым.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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