Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #197576
| From | "Loris Bennett" <loris.bennett@fu-berlin.de> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Re: argsparse: allowing --version without mandatory options |
| Date | 2025-10-30 13:50 +0100 |
| Organization | FUB-IT, Freie Universität Berlin |
| Message-ID | <87pla4bljx.fsf@zedat.fu-berlin.de> (permalink) |
| References | <87bjlod7g3.fsf@zedat.fu-berlin.de> |
"Loris Bennett" <loris.bennett@fu-berlin.de> writes:
> Hi,
>
> I am writing a program for the command-line which uses 'argsparse'. I
> want to make some options mandatory by setting 'required=True', but
> still allow the program to run with the option '--version' (which just
> shows the version and then exits) even if the mandatory options are
> missing.
>
> Is there a standard way of doing this?
I see that instead of setting required to 'True' I can use an expression
which checks whether '--version' has been given:
parser.add_argument(
"uid", nargs="+",
help="UIDs to send mail to"
)
parser.add_argument(
'-s', '--subject', dest='subject', required=not '--version' in sys.argv,
help="subject of email"
)
parser.add_argument(
'-c', '--content_file', dest='content_file', required=not '--version' in sys.argv,
help="file containing mail contents (without salutation or signature)"
)
parser.add_argument(
'--version', action='store_true', dest='version',
help="print version"
However, with the above, I still need to specify the mandatory argument,
even if I only want to see the version.
I guess I'll just have to change
nargs="+"
to
nargs="*"
and check explicitly whether any arguments have been given.
Seems odd to me though that there is not a standard way of implementing
'--version' which works like '--help' does.
Cheers,
Loris
--
This signature is currently under constuction.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
argsparse: allowing --version without mandatory options "Loris Bennett" <loris.bennett@fu-berlin.de> - 2025-10-30 11:12 +0100
Re: argsparse: allowing --version without mandatory options "Loris Bennett" <loris.bennett@fu-berlin.de> - 2025-10-30 13:50 +0100
Re: argsparse: allowing --version without mandatory options "Jonathan N. Little" <lws4art@gmail.com> - 2025-11-03 22:19 -0500
Re: argsparse: allowing --version without mandatory options Lawrence D’Oliveiro <ldo@nz.invalid> - 2025-10-30 21:57 +0000
csiph-web