【发布时间】:2018-07-10 19:34:07
【问题描述】:
我正在尝试使用几个组件模板构建 YAML 文档。我正在加载它们,构建一个 Python 对象,然后尝试转储它们(最终到一个文件,但这个例子只是打印)。正如您在下面看到的,它打印的是引用和指针,而不是我期望的字符串数据。我在做什么错(或没有做什么)?
这是我为演示我的问题而制作的一个示例:
import yaml
main_template = yaml.load('organization: main')
sub_template = yaml.load('''
division: development
other:
data:
- for: users
''')
users = [ 'alice', 'bob', 'kim' ]
all_user_data = dict(main_template)
user_list = []
for user in users:
tmp = dict(sub_template)
tmp['name'] = user
user_list.append(tmp)
all_user_data['users'] = user_list
print(yaml.dump(all_user_data, default_flow_style=False))
这会产生:
organization: main
users:
- division: development
name: alice
other: &id001
data:
- for: users
- division: development
name: bob
other: *id001
- division: development
name: kim
other: *id001
我期待这样的输出:
organization: main
users:
- division: development
name: alice
other:
data:
- for: users
- division: development
name: bob
other:
data:
- for: users
- division: development
name: kim
other:
data:
- for: users
【问题讨论】:
标签: python string pointers yaml