dec*_*lts 8 python python-2.7 python-3.x six
我在这个备忘单的帮助下编写了交叉兼容的Python 2和3代码.我注意到有不同的软件包和模块可以帮助完成这个:future软件包(例如future.utilsetc),six软件包和内置__future__模块.
使用这些包时是否有任何差异需要注意?我应该混合和匹配它们,还是可以编写完全交叉兼容的代码只用其中一个编写?
在python 2-3兼容性方面:
__future__ - 是python中的内置模块,它允许您在python版本中使用可选功能,它们是可选的(与强制性相对).例如,unicode_literals是可选的,python2.7但成为强制性的python3.0.
six-主要是重命名模块/功能,以产生更高之间的兼容性python2来python3,但实际上不反向移植(或前向端口)功能.它也支持python版本>=2.4.
future- 更现代,更支持python>=2.6,>=3.3,功能更丰富.
好像有一些协议是future最好six,如果你能放弃对旧版本的Python的支持.
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |