Convert to integers



examples/argparse/argparse_number.py
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('number', help='the number to take to the square')
args = parser.parse_args()

print(args.number * args.number)

$ python argparse_number.py abc


Traceback (most recent call last):
  File "examples/argparse/argparse_number.py", line 10, in <module>
    print(args.number * args.number)
TypeError: can't multiply sequence by non-int of type 'str'

Trying to the argument received from the command line as an integer, we get a TypeError. The same would happen even if a number was passed, but you could call int() on the parameter to convert to an integer. However there is a better solution.

The same with the following


$ python argparse_number.py 23


Traceback (most recent call last):
  File "examples/argparse/argparse_number.py", line 10, in <module>
    print(args.number * args.number)
TypeError: can't multiply sequence by non-int of type 'str'