Verbose level with argparse and multiple -v options
argparse supports action=’count’: import argparse parser = argparse.ArgumentParser() parser.add_argument(‘-v’, ‘–verbose’, action=’count’, default=0) for c in [”, ‘-v’, ‘-v -v’, ‘-vv’, ‘-vv -v’, ‘-v -v –verbose -vvvv’]: print(parser.parse_args(c.split())) Output: Namespace(verbose=0) Namespace(verbose=1) Namespace(verbose=2) Namespace(verbose=2) Namespace(verbose=3) Namespace(verbose=7) The only very minor niggle is you have to explicitly set default=0 if you want no -v arguments to give you …