¿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.
Davide Andrea

Respuestas:


30

Esto funcionó para mí:

import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]

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 ().

>>> x = 1
>>> print eval('x+1')
2

0
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])

1
Debe ingresar esto en sample.py y llamar con el parámetro.
ArunSK

ArunSK, puede editar su respuesta para incluir su comentario. :)
James Skemp
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.