2015-09-19 8 views
6

Ich bekomme nicht die gewünschte Ausgabe dieses Programms?Wie übergebe ich Kommandozeilenargumente in Python 3.x?

from sys import argv 

script, first, second, third = argv 

print ("The script is called:", script) 
print ("Your first variable is:", first) 
print ("Your second variable is:", second) 
print ("Your third variable is:", third) 

Wie Verwenden von Cmd, um diese Argumente zu übergeben?

Antwort

9

Sie rufen sie wie

python program.py a1 b2 c3 

und gibt

The script is called: /home/sophia/program.py 
Your first variable is: a1 
Your second variable is: b2 
Your third variable is: c3 

sys.argv enthält Liste von Zeichenketten, die jeweils mit einer Befehlszeilenparameter entspricht. Der erste ist immer der Dateiname des Skripts; Andere sind die optionalen Parameter, die genau so angeordnet sind, wie sie in einer Shell eingegeben wurden.

Beachten Sie, dass der von Ihnen angegebene Code korrekt funktioniert nur, wenn Sie aufgrund des Tupel-Entpackens genau drei Parameter übergeben.

Siehe die Dokumentation für sys.argv und überprüfen Sie auch argparse module Dokumentation, wenn Sie ein Programm schreiben werden, das viele Argumente behandelt.