如何 read/parse 目录中的所有 yaml 文件?
How do I read/parse all yaml files in a directory?
好吧,我正在尝试读取 python 2.7
和 pyyaml
目录中的一组 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']}
好吧,我正在尝试读取 python 2.7
和 pyyaml
目录中的一组 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']}