È possibile passare argomenti in uno script Python?


17

So come passare argomenti in uno script di shell. Questi argomenti sono dichiarati nella linea dati di AWS e passati. Ecco come sarebbe uno script di shell:

firstarg=$1
secondarg=$2

Come posso farlo in Python? È esattamente lo stesso?


Hai provato a cercare prima di chiedere? La ricerca su Google per passare argomenti allo script Python porta tutte le informazioni necessarie. Come quarto link ho ricevuto la domanda Argomenti della riga di comando in Python da StackOverflow.
Piotr Dobrogost,

3
La ricerca su Google per passare argomenti allo script Python porta questo post.
Davide Andrea,

Risposte:


30

Questo ha funzionato per me:

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

Sì, funziona. Per qualche ragione, l'indicizzazione non inizia a 0. Quindi non sys.argv[0]equivale a niente
codificando il

14
argv[0]dovrebbe essere il nome dello script
Peter Gerhat,

3

Puoi usare argv da sys

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

In realtà puoi inserire un numero abituale di argomenti nella riga di comando. argv sarà un elenco con gli argomenti. Quindi può anche essere chiamato come arg1 = sys.argv [0] arg2 = sys.argv [1]. . .

Ricorda anche che sys.argv [0] è semplicemente il nome del tuo programma python. Inoltre, le funzioni "eval" ed "exec" sono utili quando si utilizza l'input da riga di comando. Di solito, tutto nella riga di comando viene interpretato come una stringa. Quindi, se vuoi dare una formula nella riga di comando usi eval ().

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

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

1
Dovresti inserire questo in sample.py e chiamare con il parametro.
ArunSK,

ArunSK, puoi modificare la tua risposta per includere il tuo commento. :)
James Skemp,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.