Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Improve help text in ArgumentDefaultsHelpFormatter for required actions #112527

Description

@henzef

Feature or enhancement

Proposal:

import argparse
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("-s", "--spam", help="Spam and eggs", type=str, required=True)
parser.add_argument("-i", help="How many iterations", type=int, default=5)
parser.parse_args()

which yields

options:
  -h, --help            show this help message and exit
  -s SPAM, --spam SPAM  Spam and eggs (default: None)
  -i I                  How many iterations (default: 5)

but since -s is a required argument, the "(default: None)" help text is a bit misleasing

My proposal is to simply omit adding the default for required arguments like this:

options:
  -h, --help            show this help message and exit
  -s SPAM, --spam SPAM  Spam and eggs
  -i I                  How many iterations (default: 5)

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    stdlibStandard Library Python modules in the Lib/ directorytype-featureA feature request or enhancement

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions