我正在尝试分析从命令行传递的参数。我总共传递了15个参数。我试图通过给它们相同的目的地()来对它们进行分组,我需要对它们进行分组。现在,当我打印输入时,我会得到列表f.e[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']
这里是一个完整的最小示例,我们可以用
nargs='*'
给出几个logo
和compact_logo
。结果包含参数列表cli
表示要传递给程序的示例字符串如果您只是}始终是一个方便的函数
print(vars(args))
,它将给出如下输出^如果处理对象名,{只需从输出中删除这些方括号[],如果使用多个目的地,则可以迭代
args
字典以获得所需的输出输出:
或者使用更好的格式
输出:
相关问题 更多 >
编程相关推荐