我对Python不熟悉,所以请容忍我。我正试图找出如何循环遍历YAML文件中的一组值。使用PyYAML解析文件,然后需要将其输入到循环中。下面是一些YAML示例:
多希基·yml
---
#Example file
dohicky:
"1":
Stuff:
- Data
- Data
Morestuff:
- Data
- Data
"2":
Stuff:
- Data
- Data
Morestuff:
- Data
- Data
"n":
- Etc
首先,我要把山药里的东西拿出来。
import yaml
f = open('dohicky.yml')
dohicky = yaml.safe_load(f)
f.close()
现在我只需要一个for循环或while循环来遍历“dohicky”下的每个编号“id”。
for x in xrange(1, 2):
所以很明显这是可行的,但是只为2个元素静态定义。不确定如何例如:
"do while" id = dohicky["dohicky"]["x"] is true. #Not code, just concept!
我马上遇到的另一个问题是如何在这个循环中创建一个对象。例如:
id(x) = dohicky(Pass other info from YAML to class) #Not code, just concept!
不幸的是,我还不太熟悉Python(使用pyyaml)来理解语法。非常感谢您的帮助!
*更新* 这是一个sudo代码,但你至少应该明白我在做什么。
import yaml
f = open('dohicky.yml')
dohicky = yaml.safe_load(f)
f.close()
for x in dohicky["dohicky"]["x"]
test = dohicky["dohicky"]["1"]["Stuff"]
print test
在这个测试中,我只是打印“Stuff”的输出,但实际上,我需要使用该数据创建一个对象。
您可以使用以下代码遍历“dohicky”下每个编号的“id”:
在本例中,内容是一个数据指令列表。如果由于任何原因无法使用字典,并且希望将数据字典转换为对象,可以通过查看以下问题来完成此操作:Convert Python dict to object?
相关问题 更多 >
编程相关推荐