Chrest Chrest - 4 months ago 6
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".


This works in my terminal:

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