我正在寻找一种优雅的方法,使用一些嵌套的dicts和列表(即javascript样式的对象语法)在dict上使用属性访问来获取数据.
例如:
>>> d = {'a': 1, 'b': {'c': 2}, 'd': ["hi", {'foo': "bar"}]}
Run Code Online (Sandbox Code Playgroud)
应该可以通过这种方式访问:
>>> x = dict2obj(d)
>>> x.a
1
>>> x.b.c
2
>>> x.d[1].foo
bar
Run Code Online (Sandbox Code Playgroud)
我认为,如果没有递归,这是不可能的,但是什么是获得dicts的对象样式的好方法?
如何解析/读取YAML文件到Python对象?
例如,这个YAML:
Person:
name: XYZ
Run Code Online (Sandbox Code Playgroud)
对于这个Python类:
class Person(yaml.YAMLObject):
yaml_tag = 'Person'
def __init__(self, name):
self.name = name
Run Code Online (Sandbox Code Playgroud)
我顺便使用PyYAML.
我需要在项目中使用 YAML。我有一个 YAML 文件,我用它来填充与数据交互的 Python 程序中的列表。
我的数据如下所示:
Employees:
custid: 200
user: Ash
- Smith
- Cox
Run Code Online (Sandbox Code Playgroud)
我需要 python 代码来迭代这个 YAML 文件并填充这样的列表:
list_of_Employees = ['Ash', 'Smith' 'Cox']
Run Code Online (Sandbox Code Playgroud)
我知道我必须打开文件,然后将数据存储在一个变量中,但我无法弄清楚如何在列表中分别输入每个元素。理想情况下,我想使用 append 函数,这样我就不必每次都确定我的“用户”大小。