Tengo un conjunto de scripts escritos en Python. Yo les ejecutar desde un símbolo del sistema de Windows comoEjecutar scripts Python desde la línea de comandos de Windows, argumento no pasado
c:> my_script.py arg1 arg2 arg3
Esto funciona en todos los ordenadores y todas las versiones de Windows desde hace muchos años. Justo ahora esto se ha roto en mi sistema Windows 7. El script se carga y ejecuta. Pero ninguno de los argumentos se pasan al script.
Para ilustrar esto, tengo un script llamado py_echo.py:
from pprint import pprint as pp
import sys
if __name__ =='__main__':
pp(sys.argv)
Entonces se ejecutan con el argumento de a, b, c. Ninguno de ellos ha sido aprobado.
c:\Python27\Lib\site-packages>py_echo.py a b c
['C:\\0\\usr\\bin\\py_echo.py']
Si me quedo python.exe explícitamente, los argumentos se pasan correctamente
c:\Python27\Lib\site-packages>python.exe c:\0\usr\bin\py_echo.py a b c
['c:\\0\\usr\\bin\\py_echo.py', 'a', 'b', 'c']
Se estaba trabajando antes. Solo comenzó a descomponerse después de que desinstalé una gran cantidad de versiones anteriores de los intérpretes y módulos de Python de mi PC. La reinstalación de Python no ayuda. Me pregunto qué puedo hacer para arreglar esto?
Me he vuelto muy dependiente de mis scripts que construí a lo largo de los años. Me siento muy minusválidos cuando se rompe :(
Has probado esto: http://stackoverflow.com/questions/2640971/windows-is-not-passing-command-line-arguments-to-python-programs-executed-from -t –
Gracias a todos. Encontré otro hilo en Perl apunta a la misma solución. http://stackoverflow.com/questions/444388/how-can-i-pass-command-line-arguments-via-file-association-in-vista-64 –
Lo mismo aquí para Python: http://stackoverflow.com/questions/2437167/issues-running-python-scripts-in-command-prompt-specific-with-command-line. (La solución no funcionó en Windows 7, sin embargo). – bavaza