New submission from Julian Gilbey <[email protected]>:
With code like the following:
~~~~
import argparse
parser = argparse.ArgumentParser(
description="Test program",
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)
parser.add_argument(
"--foo",
help="Use the foo component.",
action=argparse.BooleanOptionalAction,
default=True,
)
args = parser.parse_args()
~~~~
a call "python prog.py --help" then gives:
~~~~
usage: prog.py [-h] [--foo | --no-foo]
Test program
optional arguments:
-h, --help show this help message and exit
--foo, --no-foo Use the foo component. (default: True) (default: True)
~~~~
Note the repeated "(default: True)", one produced by the BooleanOptionalAction
class and the other by the ArgumentDefaultsHelpFormatter. It would be good if
they didn't both add this helpful information.
My suggestion would be that BooleanOptionalAction should not include this
information; it is unique in doing so.
----------
components: Library (Lib)
messages: 395559
nosy: juliangilbey
priority: normal
severity: normal
status: open
title: argparse.BooleanOptionalAction interacts poorly with
ArgumentDefaultsHelpFormatter
type: behavior
versions: Python 3.9
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue44383>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com