¿Es posible pasar argumentos a un script de Python?
17
Sé cómo pasar argumentos a un script de shell. Estos argumentos se declaran en la tubería de datos de AWS y se pasan. Así es como se vería un script de shell:
firstarg=$1
secondarg=$2
¿Cómo hago esto en Python? ¿Es exactamente lo mismo?
¿Has intentado buscar antes de preguntar? Buscar en Google para pasar argumentos al script de Python trae toda la información que necesita. Como el cuarto enlace, recibí la pregunta Argumentos de línea de comando en Python de Stackoverflow.
Piotr Dobrogost
3
La búsqueda en Google para pasar argumentos al script de Python trae esta publicación.
Sí, eso funciona. Por alguna razón, la indexación no comienza en 0. Por sys.argv[0]lo tanto, es igual a nada
simplemente codifica el
14
argv[0]debería ser el nombre del guión
Peter Gerhat
3
Puedes usar el argv de sys
from sys import argv
arg1, arg2, arg3,...= argv
En realidad, puede poner un número abitrario de argumentos en la línea de comando. argv será una lista con los argumentos. Por lo tanto, también se puede llamar como arg1 = sys.argv [0] arg2 = sys.argv [1]. . .
Tenga en cuenta también que sys.argv [0] es simplemente el nombre de su programa de Python. Además, las funciones "eval" y "exec" son agradables cuando utiliza la entrada de línea de comando. Por lo general, todo en la línea de comando se interpreta como una cadena. Entonces, si desea dar una fórmula en la línea de comando, use eval ().
Respuestas:
Esto funcionó para mí:
fuente
sys.argv[0]
lo tanto, es igual a nadaargv[0]
debería ser el nombre del guiónPuedes usar el argv de sys
En realidad, puede poner un número abitrario de argumentos en la línea de comando. argv será una lista con los argumentos. Por lo tanto, también se puede llamar como arg1 = sys.argv [0] arg2 = sys.argv [1]. . .
Tenga en cuenta también que sys.argv [0] es simplemente el nombre de su programa de Python. Además, las funciones "eval" y "exec" son agradables cuando utiliza la entrada de línea de comando. Por lo general, todo en la línea de comando se interpreta como una cadena. Entonces, si desea dar una fórmula en la línea de comando, use eval ().
fuente
fuente