使用Python3 将yaml文件里的内容分割按字段成一个个yml文件
首先当然是使用 pyyaml
然后我们肯定是遍历所有的yaml文件,判断内容是否有这个字段。然后提取出来
存储进一个个yaml文件里面。
以下的伪代码
# 遍历目录下所有文件
def dir_files(file_path):
file_lst = []
for file_path, sub_dirs, filenames in os.walk(file_path):
if filenames:
# 如果是文件,则加append到list中
for filename in filenames:
file_lst.append(os.path.join(file_path, filename))
for sub_dir in sub_dirs:
# 如果是目录,则递归调用该函数
dir_files(sub_dir)
return file_lst
def creat_yaml(file_path):
for i in dir_files(file_path):
with open(i,'r', encoding='utf-8') as f:
cont = f.read()
d = yaml.load(cont)
for k in range(len(d)):
if 'test' in d[k]:
fileName = d[k]['test']['name']
fileContent = yaml.safe_dump(d[k]['test'], allow_unicode=True)
with open(fileName + '.yml', 'w+', encoding='utf-8') as file:
file.write(fileContent)
这里有个坑
我之前没加allow_unicode=True
导致中文转换成unicode
看了文档以及百度了一波,解决了。所以记录这个问题。
网友评论