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.