是否有python 2 unicode()
函数的替代方法可用于兼容python 2和3的代码,并且肯定会在python 2中生成unicode输出?
unicode()
函数six.u(u'xyz')
在python 2中引发错误我正在编写测试代码,我肯定想要生成unicode输出,因此如果它与执行路径中的某个非unicode字符串结合,它会在测试中爆炸 - 例如
'stuff %s' % u'unistuff'
对于一般情况,我看到它建议只使用str()
,但在python 2中不会产生unicode。
我想我能做到:
if six.PY3:
unicode = str
但肯定有一些官方支持的方式。
(由于所有结果都是关于unicode字符串而不是unicode函数本身,因此谷歌很难这样做。)
答案 0 :(得分:3)
每the documentation(我建议您阅读...),您需要six.text_type
:
用于表示(Unicode)文本数据的类型。这是
unicode()
Python 3中的Python 2和str
。