Chrest Chrest - 5 months ago 8
Python Question

Python print unicode strings in arrays as characters, not code points

If I've got a dictionary of the form:

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


and I write

>>> print a[u"foo"]


I get

ბარ


as expected. But if I write

>>> print a


I get

{u'foo': u'\u10d1\u10d0\u10e0'}
, but I would prefer the characters themselves to be printed.

All the data will ultimately get dumped into a database anyway, so it's not critical to solve this problem, but for debugging it would be nice if I could get readable output when I print the entire dictionary. Is there any way to do this?

For those who are curious, the script is Georgian, and yes, it says "bar".

Answer

This works in my terminal:

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