python 3和python 2的干净的单一源代码支持
future-nodefix的Python项目详细描述
future是python 2和python之间缺少的兼容层 三。它允许您使用一个干净的python 3.x兼容的代码库来 以最小的开销同时支持Python2和Python3。
其设计用途如下:
from __future__ import (absolute_import, division, print_function, unicode_literals) from builtins import ( bytes, dict, int, list, object, range, str, ascii, chr, hex, input, next, oct, open, pow, round, super, filter, map, zip)
接下来是标准的、惯用的python 3代码,然后运行 类似于python 2.6/2.7和python 3.3+。
导入对python 3没有影响。在Python2上,它们隐藏 对应的内置项,通常在python 3上有不同的语义 而不是2,以提供它们的python 3语义。
标准库重组
future通过 遵循PY3接口:
>>> # Top-level packages with Py3 names provided on Py2: >>> import html.parser >>> import queue >>> import tkinter.dialog >>> import xmlrpc.client >>> # etc.>>> # Aliases provided for extensions to existing Py2 module names: >>> from future.standard_library import install_aliases >>> install_aliases()>>> from collections import Counter, OrderedDict # backported to Py2.6 >>> from collections import UserDict, UserList, UserString >>> import urllib.request >>> from itertools import filterfalse, zip_longest >>> from subprocess import getoutput, getstatusoutput
自动转换
名为futurize的包含脚本有助于转换 代码(从Python2或Python3)到与两者兼容的代码 平台它类似于python-modernize,但在 通过使用后端口类型提供Python3兼容性 以及future中的内置函数。
学分
Author: | Ed Schofield |
---|---|
Sponsor: | Python Charmers Pty Ltd, Australia, and Python Charmers Pte Ltd, Singapore. http://pythoncharmers.com |
Others: | See docs/credits.rst or http://python-future.org/credits.html |
许可
版权所有2013-2018 Python Charmers Pty Ltd,澳大利亚。 该软件是根据麻省理工学院的许可证发行的。请参阅license.txt。