有没有办法全局抑制python中的unicode字符串指示器?我在应用程序中专门处理unicode,并做了很多交互式的工作。在所有调试输出中都显示u’prefix’是不必要且令人讨厌的。可以关闭吗?
您可以使用Python 3.0。默认字符串类型为unicode,因此u''不再需要前缀。
u''
简而言之,没有。您无法关闭此功能。
所述u来源于unicode.__repr__方法,它是用来在REPL显示的东西:
u
unicode.__repr__
>>> print repr(unicode('a')) u'a' >>> unicode('a') u'a'
如果我没记错的话,那么您必须重写Python才能覆盖它。
解决此问题的最简单方法是只打印字符串。
>>> print unicode('a') a
如果使用unicode()内置函数构造所有字符串,则可以执行类似的操作。
unicode()
>>> class unicode(unicode): ... def __repr__(self): ... return __builtins__.unicode.__repr__(self).lstrip("u") ... >>> unicode('a') a
..但是不要那样做,太可怕了