或者在某些特定情况下,其中一种比另一种更好?
到目前为止,我所收集到的只是 future 仅适用于 >=2.6 或 >=3.3。
我当前的代码非常基本,除了使用打印函数调用之外,在 python2 和 3 上运行相同。然而,随着时间的推移,代码可能会变得更加复杂,我想从一开始就使用正确的方法来编写 python2/3 兼容的代码。
The __future__
模块是Python内置的,提供给程序员可以提前使用尚未被视为完整的功能集。虽然有些功能(e.g., from __future__ import print_function
)专门用于帮助将 Python 2 程序移植到 Python 3,它还用于尽早访问任何版本的高级功能。
__future__
是独一无二的,因为一些进口产品,例如print_function
实际上可以改变解释器接受的语法。
python-future
是第三方模块,提供兼容性功能的几个模块之一。您还可以看一下six
,虽然现在牙齿已经有点长了,并且python-modernize
。您很可能会发现您需要同时使用两者__future__
and future
一起。
您可能没有考虑过的另一个策略是将源代码转换为 Python 2,这样可以由2to3
公用事业。还有一个lib3to2
这会以另一种方式翻译,尽管我没有这方面的经验。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)