如何读取/解析目录中的所有Yaml文件?

时间:2019-06-15 20:30:55

标签: python python-2.7 yaml pyyaml

好吧,我正在尝试在包含utf-8python 2.7的目录中读取pyyaml yaml文件的集合。 我尝试使用os.listdir(os.getcwd()),但实际上它返回文件列表,我需要阅读文件并展示其内容(键,值)。 该目录仅包含yaml文件,并且已安装pyyaml库。

yaml文件的所有内容都与此类似:

fruits:
 - bananas
 - apples
 - grapes

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

demo_file1.yaml的内容:

fruits:
  - bananas
  - apples
  - grapes

demo_file2.yaml的内容:

veg:
  - cauli
  - lady finger
  - tomato

代码:

import yaml
import glob

files = glob.glob("/path/to/directory/*.yaml") # list of all .yaml files in a directory 

def read_yaml_file(filename):
    with open(filename, 'r') as stream:
        try:
            print(yaml.safe_load(stream))
        except yaml.YAMLError as exc:
            print(exc)

for file in files:
    read_yaml_file(file)

输出:

{'fruits': ['bananas', 'apples', 'grapes']}
{'veg': ['cauli', 'lady finger', 'tomato']}