首页 > 解决方案 > 如何将命令行“key = value”参数转换为字典?

问题描述

目前我需要实现一个 python 程序,它接受任意数量的命令行参数,比如

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

并且参数需要转换成字典

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

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

知道如何完成这种命令行参数到字典的转换,我错过了一些关于argparse的东西还是我需要使用其他东西?

标签: python-3.xcommand-line-argumentsargs

解决方案


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

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

推荐阅读