Sé que mi título no es descriptivo, así que permítanme tratar de explicarlo aquí.Guión de Python perdiendo argumentos cuando se ejecuta desde PATH en Windows
Normalmente ejecuto mi script en Python, así:
D:\github\Miscellaneous-Programs\Python>python check.py -h
hello
['check.py', '-h']
Ahora lo que hice se añade la carpeta D:\github\Miscellaneous-Programs\Python
en mis ventanas path
ambiente variables. Que traté de ejecutar mi script como el siguiente:
C:\Users\noob>check -h
hello
['D:\\github\\Miscellaneous-Programs\\Python\\check.py']
Como se puede ver que no mostró el argumento -h
I suministrada a la misma.
Mi check.py
import sys
print "hello"
print sys.argv
Si quito print sys.argv
del script en Python mencionado anteriormente que funcione bien en ambos casos que he mencionado anteriormente es decir, se imprime "Hola" muy bien.
Por lo tanto, mi pregunta es cómo se ejecuta una secuencia de comandos python que acepta algunos argumentos de línea de comandos después de que la secuencia de comandos se agrega a la variable de entorno.
Mi propósito es ejecutar mi python script
desde cualquier lugar en el símbolo del sistema de Windows que es algo similar a chmod +x check.py
.
Probé la opción chmod
en cygwin, funciona bien para ambos casos.
Cygwin output
[email protected] ~
$ chmod +x check.py
[email protected] ~
$ ./check.py h
['./check.py', 'h']
crea un archivo .bat que contiene 'python full \ path \ to \ check.py' y agrega el directorio que contiene ese .bat a' Path' (es posible que desees poner 'echo off' al comienzo de .bat – khachik
Sugeriría cambiar el título a algo un poco más descriptivo, por ej. "Ejecutar un script Python desde PATH descarta todos los argumentos de línea de comandos excepto el primero" para que otras personas que tengan el mismo problema lo encuentren. – mensi
¿Realmente fue? 'C: \ Users \ noob> check -h' no' C: \ Users \ noob> check.py -h'? –