Mr_111000 2022-12-05 21:50 采纳率: 0%
浏览 8

Python中怎么让argparser帮助同时显示参数名和可选项

最近学习使用python中的argparse模块,发现其中添加带有choices位置参数后,在命令栏调用-h后会显示choices的选项但不显示参数名,如果用metavar指定显示参数名后,又只显示参数名而不显示choices选项,请问有什么可以同时显示两者的办法吗


```python

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('model', metavar='model', help='模型类型', choices=['SVM', 'ANN', 'CNN'])
parser.add_argument('mode', help='调用模式', choices=['Trian', 'Test'])
args = parser.parse_args()

# argparseTest.py -h
# positional arguments:
#   model         模型类型       # 只显示metavar,不显示选项
#   {Trian,Test}  调用模式      # 只显示choices,不显示参数名
#
# optional arguments:
#   -h, --help    show this help message and exit

```

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-05 22:29
    关注

    使用 argparse 模块来实现这个功能,可以参考下面的例子:

    import argparse
    
    parser = argparse.ArgumentParser()
    parser.add_argument("-n", "--name", help="display name")
    parser.add_argument("-a", "--age", help="display age")
    
    args = parser.parse_args()
    
    if args.name:
        print("Hello, " + args.name)
    
    if args.age:
        print("You are " + args.age + " years old.")
    

    使用该代码时,可以使用 -h--help 参数来显示帮助信息,包括参数名和可选项。例如:

    $ python myscript.py -h
    
    usage: myscript.py [-h] [-n NAME] [-a AGE]
    
    optional arguments:
      -h, --help   show this help message and exit
      -n NAME      display name
      -a AGE       display age
    

    在使用命令行运行该脚本时,可以指定要使用的参数和可选项。例如:

    $ python myscript.py -n John -a 30
    Hello, John
    You are 30 years old.
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月5日

悬赏问题

  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
  • ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
  • ¥15 io.jsonwebtoken.security.Keys