如何将命令行 "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
目前我需要实现一个 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