我正在尝试解析从命令行传递的参数。我总共传递了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 ...
这里是一个完整的最小示例,我们可以用logo
给出几个compact_logo
和nargs='*'
。结果包含参数列表。
如果只是print(vars(args))
,它将给出这样的输出。如果要处理对象名称,vars()
总是很方便的功能。