如何将命令行 "key=value" args 转换为字典?

How to convert commandline "key=value" args to dictionary?

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

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

并且需要将参数转换成像

这样的字典
{"x1": "12", "y3": "hello", "zz": "60"}

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

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

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

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