Pyyaml,在 Python 中访问字典
Pyyaml, accessing dictionary in Python
我有一些 yaml 我正在尝试访问 python 中的密钥。
---
nodes:
-
AAAA: AAAA
BBBB: BBBB
CCCC: CCCC
DDDD:
AAAA: AAAA
BBBB: AAAA
CCCC: CCCC
-
AAAA: AAAA
BBBB: BBBB
CCCC: CCCC
DDDD:
AAAA: AAAA
BBBB: AAAA
CCCC: CCCC
我正在尝试使用以下 python 格式进行访问。
import yaml
filepath = "report.yml"
audit = yaml.load(open(filepath))
audit['nodes']['DDDD'].items()
但是我收到以下错误。
打印审核['nodes']['DDDD'].items()
类型错误:列表索引必须是整数,而不是 str
我期待看到的是在 DDDD
下返回的 key/values 列表
显然,我混淆了列表和听写,但我不太明白...是 yaml,python 还是我对 pyyaml 如何在听写中嵌套听写的理解?
您有一个节点列表。使用for循环访问每个节点,然后访问所需的值
例如:
import yaml
filepath = filename
audit = yaml.load(open(filepath))
for node in audit['nodes']:
print( node['DDDD'].items() )
输出:
[('AAAA', 'AAAA'), ('CCCC', 'CCCC'), ('BBBB', 'AAAA')]
[('AAAA', 'AAAA'), ('CCCC', 'CCCC'), ('BBBB', 'AAAA')]
我有一些 yaml 我正在尝试访问 python 中的密钥。
---
nodes:
-
AAAA: AAAA
BBBB: BBBB
CCCC: CCCC
DDDD:
AAAA: AAAA
BBBB: AAAA
CCCC: CCCC
-
AAAA: AAAA
BBBB: BBBB
CCCC: CCCC
DDDD:
AAAA: AAAA
BBBB: AAAA
CCCC: CCCC
我正在尝试使用以下 python 格式进行访问。
import yaml
filepath = "report.yml"
audit = yaml.load(open(filepath))
audit['nodes']['DDDD'].items()
但是我收到以下错误。
打印审核['nodes']['DDDD'].items() 类型错误:列表索引必须是整数,而不是 str
我期待看到的是在 DDDD
下返回的 key/values 列表显然,我混淆了列表和听写,但我不太明白...是 yaml,python 还是我对 pyyaml 如何在听写中嵌套听写的理解?
您有一个节点列表。使用for循环访问每个节点,然后访问所需的值
例如:
import yaml
filepath = filename
audit = yaml.load(open(filepath))
for node in audit['nodes']:
print( node['DDDD'].items() )
输出:
[('AAAA', 'AAAA'), ('CCCC', 'CCCC'), ('BBBB', 'AAAA')]
[('AAAA', 'AAAA'), ('CCCC', 'CCCC'), ('BBBB', 'AAAA')]