zoukankan      html  css  js  c++  java
  • Python yaml文件中文读取写入

    先看yaml文件写入,代码如下:

    import yaml
    import os
    
    curpath = os.path.dirname(os.path.realpath(__file__))  # 获取文件当前路径
    yamlpath = os.path.join(curpath, "data.yaml")  # 获取yaml文件地址
    f = open(yamlpath,'r',encoding='utf-8')
    d = yaml.load(f,Loader=yaml.FullLoader)
    print(d) # 读取yaml文件
    data = {'name': '测试'} # 需要传入的数据 with open(yamlpath, 'w', encoding='utf-8') as f: yaml_obj = yaml.dump(data, f)

    运行后,查看yaml文件

    中文字符被转码

    with open(yamlpath, 'w', encoding='utf-8') as f:
        yaml_obj = yaml.dump(data, f, allow_unicode=True)

    添加allow_unicode=True,再次运行

     中文保存成功。

    查看源码

     发现dump_all方法在处理数据,查看dump_all源码,可以看到里面可以设置各种条件

    with open(yamlpath, 'w', encoding='utf-8') as f:
        yaml_obj = yaml.dump(data, f,allow_unicode=True,sort_keys=False)

    比如设置sort_keys=False,写入yaml的数据则不会排序后写入,如果要追加写入,读取方式改成‘a’就可以了

    读取写入操作详解https://www.cnblogs.com/klb561/p/9326677.html

  • 相关阅读:
    SQL考点例题解析
    数据交换技术
    网络安全的攻击手段
    实词和虚词
    VBA代码
    宏代码
    常用模块
    常用模块
    模块和包
    模块介绍
  • 原文地址:https://www.cnblogs.com/jescs/p/12155022.html
Copyright © 2011-2022 走看看