Argv - String into Integer
Question: I'm pretty new at python and I've been playing with argv. I wrote this simple
program here and getting an error that says :

> TypeError: %d format: a number is required, not str
    
    
    from sys import argv
    
    file_name, num1, num2 = argv
    int(argv[1])
    int(argv[2])
    def addfunc(num1, num2):
        print "This function adds %d and %d" % (num1, num2)
        return num1 + num2
    
    addsum = addfunc(num1, num2)
    print "The final sum of addfunc is: " + str(addsum)
    

When I run filename.py 2 2, does argv put 2 2 into strings? If so, how do I
convert these into integers?

Thanks for your help.


Answer: `sys.argv` is indeed a list of strings. Use the `int()` function to turn a
string to a number, provided the string _can_ be converted.

You need to _assign_ the result, however:

    
    
    num1 = int(argv[1])
    num2 = int(argv[2])
    

or simply use:

    
    
    num1, num2 = int(num1), int(num2)
    

You did call `int()` but ignored the return value.

