sor*_*rin 7 python python-2.5 python-3.x
我正在编写一个应该在Python 2和3中工作的模块,我需要定义一个二进制字符串.
通常这会是类似的data = b'abc'但是这个代码代码在Python 2.5上失败,语法无效.
如何以适用于所有Python 2.5+版本的方式编写上述代码
注意:这必须是binary(它可以包含任何类型的字符,0xFF),这非常重要.
我会推荐以下内容:
from six import b
Run Code Online (Sandbox Code Playgroud)
当然,这需要六个模块.如果您不想这样,这是另一个版本:
import sys
if sys.version < '3':
def b(x):
return x
else:
import codecs
def b(x):
return codecs.latin_1_encode(x)[0]
Run Code Online (Sandbox Code Playgroud)
更多信息.
这些解决方案(基本上是相同的)工作,干净,速度与您将获得的速度一样快,并且可以支持所有256字节值(这里没有其他解决方案可以).
| 归档时间: |
|
| 查看次数: |
6828 次 |
| 最近记录: |