python-3.x - 如何将命令行“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
推荐阅读
- excel - 使用VBA循环一组命令,粘贴新URL时=XMLFILTER不会更新URL
- java - Apache Commons CSV 框架是否提供内存高效的增量/顺序模式来读取大文件?
- python-3.x - SkLearn SVM - 如何获得按概率排序的多个预测?
- python - 编写从多个文件中提取子类(方法)的类的正确方法是什么
- angular - 显示表单时如何在表单中显示本地存储的数据
- amazon-web-services - AWS:在 terraform 中向弹性 beantalk 添加第二个内部负载均衡器
- node.js - 使用一个 Angular 7 应用程序的多个域和子域
- node.js - `错误:评估失败:对象`和`错误:协议错误(Network.getResponseBody):请求内容已从检查器缓存中驱逐`
- image - Xamarin Binding 函数作为具有数据绑定的 Listview 中的 ImageSource
- python - 使用 python scrapy 库进行网页抓取(python 3)