New submission from Joannah Nanjekye <nanjekyejoan...@gmail.com>:
Currently, when `parser.add_argument()` is given argument with `action='store_const'` and no `const` argument , it throws an exception : >>> from argparse import ArgumentParser >>> parser = ArgumentParser() >>> parser.add_argument("--foo", help="foo", action='store_const') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/captain/projects/cpython/Lib/argparse.py", line 1350, in add_argument action = action_class(**kwargs) TypeError: __init__() missing 1 required positional argument: 'const' >>> Specifying the `const` argument stops this exception: >>> parser.add_argument("--foo", help="foo", action='store_const', const=None) _StoreConstAction(option_strings=['--foo'], dest='foo', nargs=0, const=None, default=None, type=None, choices=None, help='foo', metavar=None) Originally the docs, said when `action` was set to` 'store_const'` `const` defaulted to `None` which was not matching with the implementation at the time. After this commit : https://github.com/python/cpython/commi/b4912b8ed367e540ee060fe912f841cc764fd293, The docs were updated to match the implementation to fix Bpo issues : https://bugs.python.org/issue25299 https://bugs.python.org/issue24754 and https://bugs.python.org/issue25314 I suggest that we make `const` default to `None` If `action='store_const'` as was intended originally before edits to the docs. If no one objects, I can open a PR for this. ---------- messages: 349911 nosy: A. Skrobov, nanjekyejoannah, r.david.murray priority: normal severity: normal status: open title: For argparse add_argument with action='store_const', const should default to None. versions: Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue37880> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com