gpt4 book ai didi

python - 编写交叉兼容的 Python 2/3 : Difference between __future__, 六和 future.utils?

转载 作者:太空狗 更新时间:2023-10-29 20:57:57 25 4
gpt4 key购买 nike

在这个 cheatsheet 的帮助下,我正在编写交叉兼容的 Python 2 和 3 代码.我注意到有不同的包和模块可以帮助做到这一点:future 包(例如 future.utils 等),six包,以及内置的 __future__ 模块。

使用这些包时有什么不同之处需要注意吗?我应该混合和匹配它们,还是只用其中一个编写完全交叉兼容的代码?

最佳答案

在 python 2-3 兼容性方面:

__future__ - 是 python 中的一个内置模块,它允许您在 python 版本中使用可选功能,其中它们是可选的(相对于强制性的)。例如,unicode_literalspython2.7 中是可选的,但在 python3.0 中成为强制性的。

six - 主要重命名模块/函数以在 python2python3 之间产生更高的兼容性,但实际上并没有向后移植(或向前 -端口)功能。它也支持 python 版本 >=2.4

future - 更现代,仅支持 python>=2.6,>=3.3,功能更丰富。

好像there is some agreement如果您可以放弃对旧版本 python 的支持,那么 futuresix 更受欢迎。

关于python - 编写交叉兼容的 Python 2/3 : Difference between __future__, 六和 future.utils?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42110826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com