繁体   English   中英

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

[英]How to make Python 2.x Unicode strings not print as u'string'?

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

{u'key1':u'value', u'key2':u'value2'}

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

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

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

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

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

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

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

为什么不创建自己的函数来打印字典? Python的默认格式可以快速,轻松地进行调试,但绝对适用于3级深度,40元素的字典。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM