如何使Python 2.x Unicode字符串不打印为u'string'?

cor*_*ror 15 python unicode

我目前正在测试一个以字典形式返回大量JSON数据的Web服务.这些字典的键和值都是unicode字符串,因此它们打印出来

{u'key1':u'value', u'key2':u'value2'}
Run Code Online (Sandbox Code Playgroud)

在交互式解释器中打印到屏幕时.

现在想象一下,这是一个3级深度,40元素的字典.所有这些u字符都会使显示屏混乱,因此很难一目了然地看出实际数据究竟是什么.即使使用pprint.

有没有办法告诉解释器我不关心普通字符串和unicode字符串之间的区别?我不需要或想要.

我发现的唯一可能有帮助的是PYTHONIOENCODING环境变量.不幸的是,将它设置为'ascii'或'latin-1'并不会让自己消失.

我正在使用Python 2.6,我使用常规python解释器或iPython.

Sin*_*ion 18

如果它是你想要的json,只需打印json:

>>> import json
>>> print json.dumps({u'key1':u'value', u'key2':u'value2'}, indent=4)
{
    "key2": "value2", 
    "key1": "value"
}
Run Code Online (Sandbox Code Playgroud)