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

stu*_*ark 2 python yaml pyyaml python-2.7

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

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

fruits:
 - bananas
 - apples
 - grapes
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

Anu*_*ngh 5

你可以试试这个:

内容demo_file1.yaml

fruits:
  - bananas
  - apples
  - grapes
Run Code Online (Sandbox Code Playgroud)

内容demo_file2.yaml

veg:
  - cauli
  - lady finger
  - tomato
Run Code Online (Sandbox Code Playgroud)

代码:

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)
Run Code Online (Sandbox Code Playgroud)

输出:

{'fruits': ['bananas', 'apples', 'grapes']}
{'veg': ['cauli', 'lady finger', 'tomato']}
Run Code Online (Sandbox Code Playgroud)