Велика подяка за більшість інших відповідей за те, що ви допомогли мені знайти рішення!
Моя справа полягала у відкритті .py
файлів з py.exe
(не python.exe
безпосередньо), цей випадок він зазначив у декількох коментарях, але я вирішив розмістити це як окрему відповідь, щоб підкреслити різницю.
Отже, у мене є свої .py
файли, пов’язані з C:\Windows\py.exe
і вC:\Windows\py.ini
конфігурі я маю кілька визначень shebang
[commands]
<my_venv_py> = C:\Programs\my_venv_py\Scripts\python.exe
<my_venv_py_w> = C:\Programs\my_venv_py\Scripts\pythonw.exe
використовувати в моїх сценаріях, як це #!<MY_VENV_PY>
.
І в Microsoft Windows 7 [версія 6.1.7601] мій скрипт python НЕ отримував такі аргументи
script.py 1 2
але це спрацювало нормально
py script.py 1 2
З файловими асоціаціями все було в порядку
> assoc .py
.py=Python.File
> ftype | grep Python
File STDIN:
Python.CompiledFile="C:\Windows\py.exe" "%1" %*
Python.File=C:\Windows\py.exe "%L" %*
Python.NoConFile="C:\Windows\pyw.exe" "%1" %*
Я перепробував багато змін у реєстрі, але останньою допомогою було наступне (збережене у .reg
-file та запуск). Я знайшов цей "%1"
рядок пошуку ключів реєстру з початковим значенням "C:\Windows\py.exe" "%1"
і додав %*
наприкінці як інші відповіді:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\py.exe\shell\open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"
Для інформації, перш ніж я намагався налаштувати ці ключі та значення і не допоміг (принаймні, до зазначеного вище):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.py]
@="Python.File"
[HKEY_CURRENT_USER\Software\Classes\.py]
@="Python.File"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.py]
@="Python.File"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py]
@="Python.File"
[HKEY_CLASSES_ROOT\py_auto_file]
@="Python File"
[HKEY_CLASSES_ROOT\py_auto_file\shell\open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"
[HKEY_CLASSES_ROOT\Python.File]
@="Python File"
[HKEY_CLASSES_ROOT\Python.File\Shell\Open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"