Python print_usage 和 print_help 不打印可选参数

Python print_usage and print_help not printing optional arguments

我正在使用以下代码

parser = argparse.ArgumentParser()

if len(sys.argv)==1:
    parser.print_help()
    sys.exit(1)


group = parser.add_mutually_exclusive_group()

group.add_argument(
        "-v","--version",
        dest="ver",
        action='store_true'
)
group.add_argument(
        "-p","--pin",
        dest="pin",
)

args = parser.parse_args()  

但是,从未列出参数。如果没有传递参数,我想要与传递 --help 参数相同的输出。

我试过 print_help 和 print_usage,它们的工作原理相同。我有一种感觉,我期望的参数(这里显示的不止一个,我试图节省一点 space)没有被正确识别,因为 -h 显示为可选参数而其他人则不是。

我希望我已经解释清楚了,我已经找了两天了,但找不到解决办法。

你打电话给 print_help() 太早了,试试:

parser = argparse.ArgumentParser()

group = parser.add_mutually_exclusive_group()

group.add_argument(
        "-v","--version",
        dest="ver",
        action='store_true'
)
group.add_argument(
        "-p","--pin",
        dest="pin",
)

if len(sys.argv)==1:
    parser.print_help()
    sys.exit(1)

args = parser.parse_args()