Python argparse command line flags without arguments Python argparse command line flags without arguments python python

Python argparse command line flags without arguments

As you have it, the argument w is expecting a value after -w on the command line. If you are just looking to flip a switch by setting a variable True or False, have a look here (specifically store_true and store_false)

import argparseparser = argparse.ArgumentParser()parser.add_argument('-w', action='store_true')

where action='store_true' implies default=False.

Conversely, you could haveaction='store_false', which implies default=True.

Adding a quick snippet to have it ready to execute:


import argparseparser = argparse.ArgumentParser(description="Flip a switch by setting a flag")parser.add_argument('-w', action='store_true')args = parser.parse_args()print args.w


python -w>> True

Your script is right. But by default is of None type. So it considers true of any other value other than None is assigned to args.argument_name variable.

I would suggest you to add a action="store_true". This would make the True/False type of flag. If used its True else False.

import argparseparser = argparse.ArgumentParser('parser-name')parser.add_argument("-f","--flag",action="store_true",help="just a flag argument")


$ python3 -f

After parsing when checked with args.f it returns true,

args = parser.parse_args()print(args.f)