我希望能够在编辑器中查看该文件,并自动查看。
# -*- coding: utf-8 -*-
import json
from collections import OrderedDict
fdata = OrderedDict()
fdata[u"Züge"] = 0
fdata[u"Bahnhöfe"] = 0
with open("Desktop/test.json", "w") as outfile:
json.dump(fdata, outfile, indent=2, ensure_ascii=False)UnicodeEncodeError:'ascii‘编解码器不能在位置2中编码字符u’\xfc:序号不在范围(128个)
它与OrderedDict有关,与正常的dict有关,它可以工作。
发布于 2015-01-30 23:40:16
打开文件时不指定编码,所以outfile.encoding可能是None。
file.encoding 此文件使用的编码。将Unicode字符串写入文件时,将使用此编码将其转换为字节字符串。此外,当文件连接到终端时,属性给出终端可能使用的编码(如果用户配置了终端,该信息可能是不正确的)。该属性是只读的,不可能出现在所有类似文件的对象上.也可能是None,在这种情况下,文件使用系统默认编码来转换Unicode字符串。
您的系统默认编码显然是ascii。
相反,使用所需的编码打开文件:
import codecs
with codecs.open("test.json", "w", encoding='utf-8') as outfile:发布于 2015-01-30 22:48:05
有一次我也遇到了类似的问题,我在我的.py文件的顶部添加了这一行,它起了作用。
# coding=utf-8https://stackoverflow.com/questions/28245834
复制相似问题