【发布时间】:2018-01-12 08:50:38
【问题描述】:
我有一个应用程序,其中嵌套 Python 字典是基于我从 API 获得的 JSON 文档创建的。示例:
colleagues = [
{ "name": "John",
"skills": ["python", "java", "scala"],
"job": "developer"
},
{ "name": "George",
"skills": ["c", "go", "nodejs"],
"job": "developer"
}]
这个字典可以有更多的嵌套级别。 我想要做的是让用户在 YAML 配置文件中定义他们自己的任意条件(例如,为了找到他们的技能中有“python”或名字是“John”的同事),我将使用它来检查针对 Python 字典。
我曾考虑让他们在 YAML 文件中以以下方式配置它,但这需要使用 exec(),出于安全原因,我想避免这样做:
constraints:
- "python" in colleagues[x]["skills"]
- colleagues[x]["name"] == "John"
对于此类问题还有哪些其他选项,以便用户可以为字典值指定自己的约束?同样,上面的字典只是一个例子。实际的尺寸和嵌套级别要大得多。
【问题讨论】:
标签: python configuration yaml