可以使用类似以下的代码来实现:
```python
import yaml
def flatten_dict(d, parent_key='', sep='_'):
items = []
for k, v in d.items():
new_key = f"{parent_key}{sep}{k}" if parent_key else k
if isinstance(v, dict):
items.extend(flatten_dict(v, new_key, sep=sep).items())
else:
items.append((new_key, v))
return dict(items)
# 读取多个YAML文件并解析为字典对象
data = {}
for filename in ['file1.yaml', 'file2.yaml', 'file3.yaml']:
with open(filename, 'r') as f:
file_data = yaml.safe_load(f)
data.update(file_data)
# 将字典对象扁平化为键值对形式输出到新的文件中
with open('output.yaml', 'w') as f:
flat_data = flatten_dict(data)
yaml.dump(flat_data, f)
```
在这个示例中,我们首先定义了一个`flatten_dict`函数,用于将字典对象扁平化为键值对形式。该函数的实现与之前介绍的相同。
然后,我们使用`yaml`库读取多个YAML文件,并将它们解析为字典对象。具体来说,我们遍历每个文件名,打开文件并使用`safe_load`方法将其解析为字典对象,然后将所有字典对象合并为一个大字典。
最后,我们将大字典扁平化为键值对形式,并使用`yaml.dump`方法将结果保存到新的文件中。需要注意的是,`yaml.dump`方法会自动将键值对转换为YAML格式并写入文件中。