首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python错误OrderedDict

Python错误OrderedDict
EN

Stack Overflow用户
提问于 2015-01-30 22:41:02
回答 2查看 1.1K关注 0票数 0

我希望能够在编辑器中查看该文件,并自动查看。

代码语言:javascript
复制
# -*- 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有关,它可以工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-30 23:40:16

打开文件时不指定编码,所以outfile.encoding可能是None

file.encoding 此文件使用的编码。将Unicode字符串写入文件时,将使用此编码将其转换为字节字符串。此外,当文件连接到终端时,属性给出终端可能使用的编码(如果用户配置了终端,该信息可能是不正确的)。该属性是只读的,不可能出现在所有类似文件的对象上.也可能是None,在这种情况下,文件使用系统默认编码来转换Unicode字符串。

您的系统默认编码显然是ascii。

相反,使用所需的编码打开文件:

代码语言:javascript
复制
import codecs
  with codecs.open("test.json", "w", encoding='utf-8') as outfile:
票数 0
EN

Stack Overflow用户

发布于 2015-01-30 22:48:05

有一次我也遇到了类似的问题,我在我的.py文件的顶部添加了这一行,它起了作用。

代码语言:javascript
复制
# coding=utf-8
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28245834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档