美文网首页
记录一个Yaml.dump的问题

记录一个Yaml.dump的问题

作者: 慕止 | 来源:发表于2019-04-25 14:52 被阅读0次
    使用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
    看了文档以及百度了一波,解决了。所以记录这个问题。

    相关文章

      网友评论

          本文标题:记录一个Yaml.dump的问题

          本文链接:https://www.haomeiwen.com/subject/asczgqtx.html