Issue 27991: In the argparse howto there is a misleading sentence about store_true (original) (raw)
https://docs.python.org/3/howto/argparse.html#combining-positional-and-optional-arguments "And, just like the “store_true” action, if you don’t specify the -v flag, that flag is considered to have None value."
This sentence is misleading. It supposes that "store_true" action can save None value. But "store_true" action always saves True or False value.
An example:
This code was taken from the argparse howto. I've just added the -f option and printed args to the stdout.
a.py
#!/usr/bin/env python3
import argparse
parser = argparse.ArgumentParser() parser.add_argument("square", type=int, help="display the square of a given number") parser.add_argument("-v", "--verbosity", action="count", help="increase output verbosity") parser.add_argument("-f", "--flag", action="store_true") args = parser.parse_args()
print('args:', args)
The output in the console:
[guest@localhost bugs]$ ./a.py 1 args: Namespace(flag=False, square=1, verbosity=None) [guest@localhost bugs]$
In the output we see that the -f option have got the False value not None.
Applied a patch to the issue that just removes words about analogy with store_true action.