我目前正在测试一个以字典形式返回大量JSON数据的Web服务。这些字典的键和值都是unicode字符串,因此它们打印为
{u'key1':u'value', u'key2':u'value2'}
在交互式翻译中打印到屏幕上时。
现在想象一下,这是一个3级深度,40元素的字典。所有那些 u 字符使显示器变得杂乱,使得很难一眼就知道真实数据究竟是什么。即使使用 pprint 。
有没有办法告诉翻译我不关心普通字符串和unicode字符串之间的区别?我不需要或不想要 u 。
我发现的唯一可能有帮助的是PYTHONIOENCODING环境变量。不幸的是,将它设置为'ascii'或'latin-1'不会使那些 u 消失。
我正在使用Python 2.6,我使用常规python解释器或iPython。
答案 0 :(得分:18)
如果是你想要的json,只需打印json:
>>> import json
>>> print json.dumps({u'key1':u'value', u'key2':u'value2'}, indent=4)
{
"key2": "value2",
"key1": "value"
}
答案 1 :(得分:0)
为什么不创建自己的函数来打印字典? Python的默认格式可以快速,轻松地进行调试,但绝对适用于3级深度,40元素的字典。