小编典典

禁止python字符串中的u'prefix指示unicode'

python

有没有办法全局抑制python中的unicode字符串指示器?我在应用程序中专门处理unicode,并做了很多交互式的工作。在所有调试输出中都显示u’prefix’是不必要且令人讨厌的。可以关闭吗?


阅读 210

收藏
2020-12-20

共1个答案

小编典典

您可以使用Python 3.0。默认字符串类型为unicode,因此u''不再需要前缀。

简而言之,没有。您无法关闭此功能。

所述u来源于unicode.__repr__方法,它是用来在REPL显示的东西:

>>> print repr(unicode('a'))
u'a'
>>> unicode('a')
u'a'

如果我没记错的话,那么您必须重写Python才能覆盖它。

解决此问题的最简单方法是只打印字符串。

>>> print unicode('a')
a

如果使用unicode()内置函数构造所有字符串,则可以执行类似的操作。

>>> class unicode(unicode):
...     def __repr__(self):
...             return __builtins__.unicode.__repr__(self).lstrip("u")
... 
>>> unicode('a')
a

..但是不要那样做,太可怕了

2020-12-20