Python Unicode,打印到标准输出,发生了什么?
我无法将数据打印到标准输出。我理解Unicode和Ascii的概念,但我不明白为什么打印指令不起作用 我在玩一个电脑游戏“辐射防护中心”的JSON文件中的数据 当我尝试打印数据时:Python Unicode,打印到标准输出,发生了什么?,python,unicode,Python,Unicode,我无法将数据打印到标准输出。我理解Unicode和Ascii的概念,但我不明白为什么打印指令不起作用 我在玩一个电脑游戏“辐射防护中心”的JSON文件中的数据 当我尝试打印数据时: for i in jsondata["dwellers"]["dwellers"]: print "{},{} {},{}".format(f,i["name"],i["lastName"],i["relations"]) 我得到一个错误: Traceback (most recent cal
for i in jsondata["dwellers"]["dwellers"]:
print "{},{} {},{}".format(f,i["name"],i["lastName"],i["relations"])
我得到一个错误:
Traceback (most recent call last):
File "f:\FOSScript\Tree.py", line 81, in <module>
tree()
File "f:\FOSScript\Tree.py", line 76, in tree
graphing(jsondata)
File "f:\FOSScript\Tree.py", line 35, in graphing
print "{} {}".format(i["name"],i["lastName"])
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 3: ordinal not in range(128)
名称打印正确
以下说明:
print locale.getpreferredencoding()
print sys.stdout.encoding
打印以下内容:
cp1252
cp850
维基百科上检查的两个代码页都包含重音字符
我使用的是加拿大法语版本的Windows10。Python 2.7.13
==========================
为什么从表中打印不起作用,但打印变量起作用
在第页,有一条评论说
Python中唯一支持的默认编码是:
Python2.x:ASCII
Python3.x:UTF-8
当他们说ASCII时,他们是指带有重音符号的扩展ASCII,因为JSON数据包含重音符号,python无法打印它吗
谢谢大家! 问题在于,您试图对带有unicode字符的非unicode字符串使用字符串格式。相反,您希望:
for i in jsondata["dwellers"]["dwellers"]:
print u"{},{} {},{}".format(f,i["name"],i["lastName"],i["relations"])
注意第二行中引号前的额外u
在Python2.7上测试这一点
print u"{}".format(u'\xe9')
很好
print u"{}".format(u'\xe9')