python 2 函数是否有替代方案unicode()
,可用于可与 python 2 和 3 一起使用的代码,并且肯定会在 python 2 中产生 unicode 输出?
- 该
unicode()
函数在 python 3 中不存在 six.u(u'xyz')
在 python 2 中引发错误
我正在编写测试代码,我肯定想生成 unicode 输出,因此如果它与执行路径中某处的非 unicode 字符串结合,它将在测试中爆炸 - 例如
'stuff %s' % u'unistuff'
对于一般情况,我看到它建议只使用str()
,但在不产生 unicode 的 python 2 中。
我想我可以这样做:
if six.PY3:
unicode = str
但肯定有一些官方支持的方式。
(而且很难用谷歌搜索,因为所有结果都是关于 unicode 字符串而不是 unicode 函数本身)。