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。

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

推荐PyPI第三方库


热门话题
java实现双锁并发队列   java如何更改SpringWS 2.4.4版或更高版本中maxOccurs的默认限制?   java Selenium RC如何处理动态行?   java何时引入Javac StringBuilder/StringBuffer优化?   java mediaplayer在R.raw Android上失败   java JPA2:不区分大小写,就像在任何地方匹配一样   如何从JDK15中提取java预览类文件?   java与mySQL删除查询不一致   从Shutdownow()返回的java列表<Runnable>无法转换为提交的Runnable   java如何从回调接口获取对象值?   java如何获得视图的高度,在xml中可见性和高度定义为wrap_内容?   postgresql Mybatis在启动时遇到“由以下原因引起:java.net.UnknownHostException:localhost”,为什么?   带有实例调用的方法调用的java intellij格式化程序换行   由于特定的第三方库,java Proguard产生运行时错误   动画JAVA JPanel同时滑出和滑入