web-dev-qa-db-fra.com

Est-il possible de passer des arguments dans un script Python?

Je sais comment passer des arguments dans un script Shell. Ces arguments sont déclarés dans la ligne de données AWS et transmis. Voici à quoi ressemblerait un script Shell:

firstarg=$1
secondarg=$2

Comment faire cela en Python? Est-ce exactement la même chose?

20
simplycoding

Cela a fonctionné pour moi:

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

Vous pouvez utiliser l'argv de sys

from sys import argv
arg1, arg2, arg3, ... = argv

Vous pouvez réellement mettre un nombre arbitraire d'arguments dans la ligne de commande. argv sera une liste avec les arguments. Ainsi, il peut également être appelé arg1 = sys.argv [0] arg2 = sys.argv [1]. . .

Gardez également à l'esprit que sys.argv [0] est simplement le nom de votre programme python. De plus, les fonctions "eval" et "exec" sont agréables lorsque vous utilisez la ligne de commande. En général , tout dans la ligne de commande est interprété comme une chaîne. Donc, si vous voulez donner une formule dans la ligne de commande, vous utilisez eval ().

>>> x = 1
>>> print eval('x+1')
2
3
F. Ha
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])
0
ArunSK