Search code examples
pythonargv

Numbers passed as command line arguments in python not interpreted as integers


I am familiar with C, and have started experimenting in python. My question is regarding the sys.argv command. I've read it is used for a command line interpreter, but when trying to execute a simple program I don't get the results I expect.

Code:

import sys

a = sys.argv[1]
b = sys.argv[2]

print a, b

print a+b

Input:

python mySum.py 100 200

Output:

100 200
100200

When I add the two arguments they are concatenated instead of the two values being added together. It seems that the values are being taken as strings.

How can I interpret them as numerics?


Solution

  • You can convert the arguments to integers using int()

    import sys
    
    a = int(sys.argv[1])  b = int(sys.argv[2])
    
    print a, b
    
    print a+b
    

    input: python mySum.py 100 200

    output:

    100 200
    300