如何将命令行“ key = value”参数转换为字典?

时间:2019-01-08 03:37:30

标签: python-3.x command-line-arguments args

当前,我需要实现一个Python程序,该程序需要任意数量的命令行参数,例如

python myprog.py x1=12 y3=hello zz=60

并且参数需要转换成字典,例如

{"x1": "12", "y3": "hello", "zz": "60"}

我尝试了 argparse 模块,但是无法事先知道参数中的键(示例中的x1,y3,zz),而 argparse 似乎需要我单独添加参数键,所以我认为这不适合这种特定情况吗?

任何想法如何完成这种命令行参数到字典的转换,我是否错过了有关 argparse 的东西,还是需要使用其他东西?

1 个答案:

答案 0 :(得分:0)

您可以通过处理字符串来解析它。例如

import sys

kw_dict = {}
for arg in sys.argv[1:]:
    if '=' in arg:
        sep = arg.find('=')
        key, value = arg[:sep], arg[sep + 1:]
        kw_dict[key] = value