如题,当 yaml 文件中包含中文时,直接 load 后打印出来无法正常显示:

cus:
  - '终端'
  - cus002
  - cus003
detail:
  type: {type1: a}
  dept: dept1
python 脚本如下:
f=open('data.yaml')
data = yaml.load(f)
print (data)
print data['cus'][0].decode('utf-8')
打印出来结果:

{'cus': [u'\u7ec8\u7aef', 'cus002', 'cus003'], 'detail': {'dept': 'dept1', 'type': {'type1': 'a'}}}
终端

期望结果:

{'cus': [‘终端’, 'cus002', 'cus003'], 'detail': {'dept': 'dept1', 'type': {'type1': 'a'}}}
终端

尝试:

修改脚本如下:

f=open('data.yaml',encoding='utf-8')
data = yaml.load(f)
print (data)

报错:

TypeError: 'encoding' is an invalid keyword argument for this function

请教:

如何可以得到期望结果

{'cus': [‘终端’, 'cus002', 'cus003'], 'detail': {'dept': 'dept1', 'type': {'type1': 'a'}}}
终端

谢谢


↙↙↙阅读原文可查看相关链接,并与作者交流