我正在尝试用 Python 读取以下 YAML 文件:
\n\ncountries:\n IT:\n "Italia"\n PT:\n "Portugal"\n ES:\n "Espa\xc3\xb1a"\n PE:\n "Per\xc3\xba"\n FR:\n "France"\n MX:\n "M\xc3\xa9xico"\n BR:\n "Brasil"\n CO:\n "Colombia"\n CL:\n "Chile"\n ZA:\n "South Africa"\nRun Code Online (Sandbox Code Playgroud)\n\n使用这个简单的代码:
\n\nimport yaml\nwith open(\'file.yaml\') as file:\n countries = yaml.load(file, Loader=\'yaml.FullLoader\')\nprint(countries)\nRun Code Online (Sandbox Code Playgroud)\n\n但我得到的结果如下:
\n\n{\'countries\': {\'IT\': \'Italia\', \'PT\': \'Portugal\', \'ES\': \'Espa\xc3\x83\xc2\xb1a\', \'PE\': \'Per\xc3\x83\xc2\xba\', \'FR\': \'France\', \'MX\': \'M\xc3\x83\xc2\xa9xico\', \'BR\': \'Brasil\', \'CO\': \'Colombia\', \'CL\': \'Chile\', \'ZA\': \'South Africa\'}}\nRun Code Online (Sandbox Code Playgroud)\n\n正如您所看到的,所有重音符号和特殊字符(例如“\xc3\xb1”)都被搞乱了。知道为什么以及如何解决它吗?
\n\n我正在使用 Python 3.7
\n您应该将其读取为 UTF-8。
with open('file.yaml', 'rt', encoding='utf8') as file:
countries = yaml.load(file)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1827 次 |
| 最近记录: |