InquisitiveSu
InquisitiveSu

Reputation: 297

How to pass command line arguments?

I am not getting the desired output for this program:

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)

How to use CMD to pass these arguments?

Upvotes: 26

Views: 41561

Answers (1)

Tigran Saluev
Tigran Saluev

Reputation: 3582

You call it like

python program.py a1 b2 c3

and it outputs

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 contains list of strings, each corresponding to a command line parameter. First one is always the filename of the script; others are the optional parameters, ordered exactly as they were typed in a shell.

Note that the code you provided works correctly only when you pass exactly three parameters due to the tuple unpacking.

See the docs for sys.argv and also check out argparse module documentation if you are going to write a program handling lots of arguments.

Upvotes: 32

Related Questions