Если запускать так:
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 добавились автоматически, в общем, все было хорошо.
Затем я предыдущую версию удалил и хотел поставить другую. Вот после переустановки это и началось: и расширения файлов не сопоставились, и лаунчера нет, и никак они больше не устанавливаются.