[Tutor] how to send command line args to py script

Gordon chaosweevil42 at gmail.com
Mon Mar 12 02:55:41 CET 2007


This is my first time replying to the list, so excuse me if this goes 
out wrong.

Anyhow, you're looking for sys.agrv.  sys.agrv is a list of the 
arguments, with sys.agrv[0] being the script name.

Code:
##########
import sys  #sys.argv is part of the sys module
def add_two_numbers(a, b):
    x = a + b
    return x
y = float(sys.argv[1]) #This gets the arguments and converts them to numbers
z = float(sys.argv[2]) #You need to do this because the arguments come 
as strings
x = add_two_numbers(y,z) #Of course, that means if you put in "python 
add.py 1 fish"
print x #you'll get an error.  So a try-except clause would be good here.
##########
Run the above script with the formatting "python (filename).py 1 1", not 
"python (filename).py -1 -1", that'll get you negative numbers.

shawn bright wrote:
> lo there all,
>
> i was wondering how to make a python script accept command line arguments.
> i mean, i have used python scripts from the command line in linux and
> passed something to it and it knows what to do.
>
> like in a function, if i want to do something like this
>
> def add_two_numbers(a, b):
>     x = a + b
>     return x
>
> x = add_two_numbers(4,5)
> print x
>
> how could i do the same from the cli.
>
> like python add_two_numbers.py 4 5
> or maybe python add_two_numbers.py 4, 5
> or even python add_two_numbers.py -a 4 -b 5
>
> is there an easy way to do this ?
>
> thanks
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>   



More information about the Tutor mailing list