如何 read/parse 目录中的所有 yaml 文件?

How do I read/parse all yaml files in a directory?

好吧,我正在尝试读取 python 2.7pyyaml 目录中的一组 utf-8 yaml 文件。 我尝试使用 os.listdir(os.getcwd()),但它实际上是 returns 文件列表,我需要读取文件并显示内容(键、值)。 该目录只有yaml文件,并且已经安装了pyyaml库。

所有yaml文件的内容都类似这样:

fruits:
 - bananas
 - apples
 - grapes

谁能帮帮我?

你可以试试这个:

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']}