如何获取argparser参数名称?

问题描述 投票:0回答:2

我正在尝试解析从命令行传递的参数。我总共传递了15个参数。我试图通过给它们相同的目的地将它们分组(),我需要将它们分组。现在,当我打印输入内容时,会得到列表,例如[mylogo.png,otherlogo.png]等。我如何获得类似于{destination:'value1','value2'}的结果。我知道我可以手动完成此操作,但这不是我的解决方案。

   parser = argparse.ArgumentParser(prog='Moodle automation', add_help= False,
                                     description=description(), usage='nana nanan nana')
   parser.add_argument('-logo', '--set_logo',
                        help='',
                        dest='branding',
                        type=str,
                        action='append')

    parser.add_argument('-c_logo', '--set_compact_logo',
                        help='',
                        dest='branding',
                        type=str,
                        action='append'
                        )


    web_status.add_argument('-wn', '--web_new',
                            help=" ",
                            dest='web_state',
                            action="append")

    web_status.add_argument('-wo', '--web_old',
                            help="",
                            dest="web_state",
                            action="append")
    args = parser.parse_args()
     branding_details = args.branding
     print(branding_details)

如果输入:

program.py -logo mylogo.png -c_logo custom_logo.png

我得到输出['mylogo.png', 'custom_logo.png']

我正在尝试解析从命令行传递的参数。我总共传递了15个参数。我试图通过给它们相同的目的地将它们分组(),我需要将它们分组。现在,当我打印输入i ...

python argparse
2个回答
0
投票

这里是一个完整的最小示例,我们可以用logo给出几个compact_logonargs='*'。结果包含参数列表。


0
投票

如果只是print(vars(args)),它将给出这样的输出。如果要处理对象名称,vars()总是很方便的功能。

© www.soinside.com 2019 - 2024. All rights reserved.