用python解析yaml文件格式



我有这种格式的yaml文件。我有数据块开始与"- Buffer: 0"。需要将这些块存储在字典中并处理数据。

- {MinimumRequiredVersion: 1.2.1}
- baran
- afc90a
- [Device 0050, Device 0051, Device 0052, Device 0054, Device 0062, Device 7400, Device 740c]
- AllowNoFreeDims: false
AssignedDerivedParameters: true
DataType: 4
IndexAssignmentsLD: [4, 5, 6, 7]
IndexUnroll: 3
- - Buffer: 0
AggressivePerfMode: 1
AssertFree0ElementMultiple: 1
AssertFree1ElementMultiple: 1
...
- Buffer: 0
AggressivePerfMode: 1
AssertFree0ElementMultiple: 1
...
- Buffer: 0
AggressivePerfMode: 1
AssertFree0ElementMultiple: 1
AssertFree1ElementMultiple: 1
...
- Buffer: 0
AggressivePerfMode: 1
AssertFree0ElementMultiple: 1
AssertFree1ElementMultiple: 1
...
- Buffer: 0
AggressivePerfMode: 1
AssertAlphaValue: false
AssertBetaValue: false
AssertCEqualsD: false
AssertMinApproxSize: 3
...
- 1LDSBuffer: 0
AggressivePerfMode: 1
AssertAlphaValue: false
AssertBetaValue: false
...
- [2, 3, 0, 1]
- - - [512, 1, 1, 500000]
- [8, 0.45]
- - [512, 2, 1, 500000]
- [8, 0.883]
- null

我使用下面的代码来解析yaml文件并打印,它可以工作。

with open(filename, "r") as f:
data = yaml.load(f, yaml.SafeLoader)
sorted_data = yaml.dump(data)
print(sorted_data)

我是新的python和这种格式的yaml文件。任何指针,我如何提取数据块的字典(可能是列表也ok)之间的"-缓冲区:0 "到另一个"-缓冲区:0 "我试着这样做,但没有成功。打印({数据缓冲]['})

data是一个列表(其元素在YAML中由-指定)。包含您似乎感兴趣的字典的列表因此在data[5]中-您可以看到它是由另一个级别的-项组成的另一个列表。具体来说,data[5][0]是一个字典(由YAML中的<key>:项指定):

{'Buffer': 0, 'AggressivePerfMode': 1, 'AssertFree0ElementMultiple': 1, 'AssertFree1ElementMultiple': 1}

data[5][0]["Buffer"]0

相关内容

  • 没有找到相关文章

最新更新