Python将数组中的unicode字符串打印为字符,而不是代码点

时间:2011-04-13 11:41:10

标签: python unicode

如果我有一份表格字典:

a = {u"foo": u"ბარ"}

我写了

>>> print a[u"foo"]

我得到了

ბარ

正如所料。但如果我写

>>> print a

我得到了

{u'foo': u'\u10d1\u10d0\u10e0'},但我希望打印字符本身。

无论如何,所有数据最终都会被转储到数据库中,所以解决这个问题并不重要,但是对于调试来说,如果我在打印整个字典时能够获得可读输出,那将会很好。有没有办法做到这一点?

对于那些好奇的人来说,剧本是格鲁吉亚语,是的,它说的是“bar”。

2 个答案:

答案 0 :(得分:73)

这适用于我的终端:

print repr(a).decode("unicode-escape")

答案 1 :(得分:0)

托马斯的回答是绝对正确的。我只想为希望输出更具可读性的每个人添加此行:

print json.dumps(a, indent=4, default=str).decode('unicode-escape')