class VersionAction(argparse.Action):...
def __call__(self, parser, namespace, values, option_string):
print(VERSION)
exit()
parser.add_argument("-v", "--version", nargs=0, action=VersionAction)
ummm, hate to say this, but have you checked the documentation? this
case is supported using an action named 'version' without doing very much.
Mats Wichmann <mats@wichmann.us> writes:
On 11/27/22 16:40, Skip Montanaro wrote:
I have a script to which I'd like to add a --version flag. It should print >> the version number then exit, much in the same way --help prints the help >> text then exits. I haven't been able to figure that out. I always get a
complaint about the required positional argument.
I think I could use something like nargs='*', but that would push
off
detection of the presence of the positional arg to the application.
Shouldn't I be able to tell argparse I'm going to process --verbose, then >> exit?
ummm, hate to say this, but have you checked the documentation? this
case is supported using an action named 'version' without doing very
much.
I hadn't noticed the action 'version'. I just use
parser.add_argument(
"-v", "--version", action="store_true", dest="version",
help="print version"
)
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 78:30:37 |
Calls: | 6,716 |
Files: | 12,247 |
Messages: | 5,357,830 |