It makes Python print the object representation in readable chars instead of the escaped string.
>>> from pprint import pprint
>>> langs = [
... 'Hello, world!',
... '你好,世界!',
... 'こんにちは世界',
... u'Hello, world!',
... u'你好,世界!',
... u'こんにちは世界'
... ]
...
Before:
>>> pprint(langs)
['Hello, world!',
'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c\xef\xbc\x81',
'\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf\xe4\xb8\x96\xe7\x95\x8c',
u'Hello, world!',
u'\u4f60\u597d\uff0c\u4e16\u754c\uff01',
u'\u3053\u3093\u306b\u3061\u306f\u4e16\u754c']
After:
>>> import uniout
>>> pprint(langs)
['Hello, world!',
'你好,世界!',
'こんにちは世界',
u'Hello, world!',
u'你好,世界!',
u'こんにちは世界']
You can install it via PyPI,
sudo pip install uniout
or download it manually.
- Switch to long-string syntax (
'''
or"""
) automatically.
- Fixed the issue with empty string.
- Make it still works for files.
- A better fix for the previous bug.
- Fixed the problem that Uniout can't be installed by PIP.
- Show the original string if the escaped string can't be decoded properly.
- Use better way to find string literals.
- Print more correct unescaped string representation.
- Fixed a bug when Uniout works with IPython.
Thanks for the pull requests #3 and #4 from @timtan, it now
- works well with IPython,
- and also supports stderr.