¡Muchas gracias por la mayoría de las otras respuestas por ayudarme a encontrar la solución!
Mi caso fue abrir .pyarchivos con py.exe(no python.exedirectamente), este caso se señaló en un par de comentarios, pero decidí publicar esto como una respuesta separada para enfatizar la diferencia.
Entonces tengo mis .pyarchivos asociados C:\Windows\py.exey en la C:\Windows\py.iniconfiguración tengo un par de definiciones de 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
para usar en mis scripts como este #!<MY_VENV_PY>.
Y en Microsoft Windows 7 [Versión 6.1.7601] mi script de Python NO recibió los argumentos como este
script.py 1 2
pero esto funcionó bien
py script.py 1 2
Las asociaciones de archivos estaban bien
> 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" %*
He intentado muchos cambios en el registro, pero el último que me ayudó fue el siguiente cambio (guardado en un .regarchivo y ejecutado). Encontré esta "%1"cadena de búsqueda de clave de registro con valor inicial "C:\Windows\py.exe" "%1"y la agregué %*al final como nota de otras respuestas:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\py.exe\shell\open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"
Para obtener información, antes de intentar configurar estas claves y valores y no ayudó (al menos antes de lo mencionado anteriormente):
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\" %*"