0
我有不同的YAML文件与各种数据结构(示例1)。 在我的项目中,我必须从这些文件中获取一些信息。 我写了另一个YAML文件来获取我需要的资源(例子2)。python:从另一个yaml文件的yaml数据
示例文件
res1.yaml
:--- form_title: mytitle icons: 1: icon: dog_icon link: '/my/file/path1/file1' 2: icon: wolf_icon link: '/my/file/path2/file2' 3: icon: cat_icon link: '/my/file/path3/file3' 4: icon: rabbit_icon link: '/my/file/path4/file4' ---
示例文件
myapp_res.yaml
:--- resources: 1: res: res1.yaml res_type: yaml 2: res: res2.jpg res_type: image data: my_form_title: res: 1 type: text var: form_title my_needed_icon: res: 1 type: icon var: icons: 1: link #etc... ---
我使用这个脚本来获取信息,如 “my_form_title”:
import ruamel.yaml as yaml
myapp_res = yaml.load(myapp_res.yaml)
test_var = "my_form_title"
my_data = myapp_res["data"][test_var]
my_resource = my_data["res"]
my_res_file = myapp_res["resources"][my_resource]["res"]
yamel_res = yaml.load(my_res_file)
my_var = my_data["var"]
print(yamel_res[my_var])
但是我怎么能得到像“my_needed_icon”这样的子路径中的数据? 与以前的脚本中,我得到的错误:
TypeError: unhashable type: 'dict'
我只能改变myapp_res.yaml的结构,而且,很显然我的Python脚本。
我做的时候我已经复制的代码错误。感谢您的纠正。 – Luca
@luca如果解决了问题,请标记答案,然后其他人知道这解决了您的问题 – Anthon