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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM