python 3和python 2的干净的单一源代码支持

future的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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
传递Java处理类类型参数的方式的参数   java安卓中间层admob在logcat中导致大量GC_FOR_ALLOC释放消息   java Vert。x Http请求未将参数分配为配置   java中多线程的输出不正确   如何减少java本地线程的冗余   java不完全分块结果   使用OpenCv时java中的Mat数据类型不受支持错误   Java中的正则表达式不工作,而同一正则表达式在shell中工作   java如何从数组中删除元素?   JDBCJava。sql。SQLException:[Microsoft][ODBC Microsoft Access驱动程序]操作必须使用可更新的查询   java如何以对角线打印字符串变量的字符?   SonarQube 5.2的java自定义插件生成NoClassDefFoundError   macos使用Java应用程序打开浏览器选项卡