This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: In the argparse howto there is a misleading sentence about store_true
Type: behavior Stage: resolved
Components: Documentation, Library (Lib) Versions: Python 3.6, Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: docs@python Nosy List: berker.peksag, docs@python, py.user, python-dev
Priority: normal Keywords: patch

Created on 2016-09-07 03:04 by py.user, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
argparse_store_true.diff py.user, 2016-09-07 03:04 Removes words review
Messages (3)
msg274725 - (view) Author: py.user (py.user) * Date: 2016-09-07 03:04
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.
msg275762 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-09-11 10:02
New changeset 0e45cd7859ec by Berker Peksag in branch '3.5':
Issue #27991: Remove incorrect sentence about store_true
https://hg.python.org/cpython/rev/0e45cd7859ec

New changeset 9a75fa28bd0a by Berker Peksag in branch 'default':
Issue #27991: Merge from 3.5
https://hg.python.org/cpython/rev/9a75fa28bd0a
msg275763 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2016-09-11 10:02
Good catch, thanks!
History
Date User Action Args
2022-04-11 14:58:35adminsetgithub: 72178
2016-09-11 10:02:56berker.peksagsetstatus: open -> closed

versions: + Python 3.5
nosy: + berker.peksag

messages: + msg275763
resolution: fixed
stage: resolved
2016-09-11 10:02:25python-devsetnosy: + python-dev
messages: + msg275762
2016-09-07 03:04:18py.usercreate