Python argparse:如何设置"--version" "--help" confilct?



我有一个python命令程序,它有可选的--version--help参数。我想让他们互相冲突。这意味着我不能同时键入--help --version

当我键入./demo --version --help 时它输出程序的版本信息
当我键入./demo --help --version 时它输出程序的帮助信息。

我觉得这很奇怪,所以我想设置然后相互冲突。

我试过add_mutually_exclusive_group,但没有任何意义。

我的程序喜欢以下内容:

#!python3
# -*- coding: utf-8 -*-
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-v', '--version', action='version',
                    version='%(prog)s 1.0', help="Show program's version number and exit.")
#parser.parse_args(['--version','--help'])
parser.parse_args(['--help','--version'])

非常感谢

这种行为一点也不奇怪。没有正确的方法。
有些GNU实用程序采用第一个参数,有些则采用特定的参数。

例如:

  • find --version --help-将显示版本并退出
  • find --help --version-将显示帮助并退出
  • grep --version --help-将显示版本并退出
  • grep --help --version-将显示版本并退出