Multiple positional arguments with Python and argparse

You can’t interleave the switches (i.e. -a and -b) with the positional arguments (i.e. fileone, filetwo and filethree) in this way. The switches must appear before or after the positional arguments, not in-between.

Also, in order to have multiple positional arguments, you need to specify the nargs parameter to add_argument. For example:

parser.add_argument('input', nargs="+")

This tells argparse to consume one or more positional arguments and append them to a list. See the argparse documentation for more information. With this line, the code:

parser.parse_args(['-a', '-b', 'fileone', 'filetwo', 'filethree'])

results in:

Namespace(a=True, b=True, input=['fileone', 'filetwo', 'filethree'])

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)