python future-解决Python2和Python3之间兼容性问题的python库

快速入门指南

您现在可以用future来帮助将代码从Python 2移植到Python 3,并且仍然可以在Python 2上运行。

如果您已经有了Python 3代码,则可以使用它future来提供Python 2兼容性,而几乎不需要额外的工作。

安装

要安装最新的稳定版本,请输入:

pip install future

您也可以通过网盘下载python future的源代码文件手动安装。

在Python 2.6上,对于一小部分代码,需要三个包含Python 2.7+中标准库模块的反向移植的软件包:

pip install importlib       # for future.standard_library.import_ function onlypip install unittest2       # to run the test suitepip install argparse        # for the backported http.server module from Py3.3

除非这些功能在Python 2.6(仅)上使用,否则future不存在依赖项。

如果您是从头开始编写代码

最简单的方法是使用这些行来启动每个新模块:

from __future__ import (absolute_import, division,                        print_function, unicode_literals)from builtins import *

然后编写标准的Python 3代码。该future软件包将提供在Python 2.6、2.7和3.3+上运行代码的支持。

有关显式导入形式,请参见显式导入。

有关更多详细信息,请参见其他信息。

有关备忘单,请参阅备忘单:编写Python 2-3兼容代码。

转换现有的Python 3代码

要从Python 3代码提供与Python 2的向后兼容性,可以使用该pasteurize脚本。这会将这些行添加到每个模块的顶部:

并将几种仅Python 3的构造(例如仅关键字参数)转换为与Py3和Py2都兼容的形式。剩下的大多数Python 3代码应该只适用于Python 2。

转换现有的Python 2代码

该futurize脚本通过所有适当的修复程序传递Python 2代码以将其转换为有效的Python 3代码,然后添加__future__并 future打包导入以重新启用与Python 2的兼容性。

例如,运行futurize打开以下Python 2代码:

这段代码可同时在Py2和Py3上运行:

要写出建议的所有Python文件更改,请futurize使用-w标记。

对于复杂的项目,最好将移植分为两个阶段。第1阶段用于“安全”更改,这些更改可使代码现代化,但又不破坏Python 2.6兼容性或在future程序包上引入依赖关系。第二阶段是完成该过程。

(0)

相关推荐

  • Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!

    python安装第三方库方法 1.引言 2.pip手动安装 2.1 在线安装 2.1.1 默认安装 2.1.2 指定版本安装 2.2 离线安装 2.3 设置国内源 2.4 卸载与升级 2.4.1 卸载 ...

  • from

    from __future__ import print_function 用法                                         版权声明:本文为博主原创文章,遵循 C ...

  • 这回让我们把 Python 玩出花来

    直接上代码先看效果: import com; import winex; import py3; var pyCode = /** def testPy(com,winex): # 在 Python ...

  • python各种时间

    本篇文章帮大家学习python日期和时间,包含了Python日期和时间使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 通常在数据科学中,我们需要基于时间值的分析. Pyt ...

  • Python自动安装第三方库的小技巧,让你的代码拿来就用

    大家好,我是Python之眼. 最近周末也加班了,害...... 有刚接触python的粉丝同学在运行此前<Python爬虫> | 手把手教你扒一扒贝壳网成交房源数据>的完整代码遇到 ...

  • 10大Python库介绍!

    现在转行学编程,很多人都会选择Python,很大一部分原因是因为Python具有丰富的第三方库,既可以帮助我们提高开发效率,还能够缩减代码量.那么你知道Python有哪些库吗?这里为大家介绍10个,总 ...

  • Gevent is Fast

    使用gevent实现高效异步请求 gevent:异步理论与实战 轻盈高效的异步访问库grequests库 之前我们分享了几篇异步爬虫理论及实战的文章,最近在爬一个网站的数据,一开始使用常规方式(同步) ...

  • python如何通过setup.py安装

    有些时候我们发现一些模块没有提供pip install 命令和安装教程 , 只提供了一个setup.py文件 , 这个时候如何安装呢? 步骤 打开cmd 到达安装目录 python setup.py ...

  • 听说你在玩 Python 爬虫遇到 JavaScript 的时候还在使用 selenium ?

    我们在玩爬虫的时候 对于一些没做什么反爬的网站来说 使用简单的库 三两下就能把数据爬取下来了 不过 对于一些别人认为 比较重要的数据来说 可就没有那么容易了 他们认为这些数据很重要 但是又不得不展示给 ...

  • Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合

    Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合 Python版本升级的原因 Python团队核心开发人员Brett Cannon用一 ...

  • 【Python面试】谈谈对 Python3 和 Python2 的区别?​

    最近公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开 ...

  • Python | 动态规划解决“返回第n个丑数”

    问题描述给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 5 的正整数.示例 1:输入:n = 10输出:12解释:[1, 2, 3, 4, 5, 6, 8 ...

  • Python如何解决“高等数学”的问题?

    使用Python解决高等数学中极限.导数.偏导数.定积分.不定积分.双重积分等问题 Sympy是一个Python的科学计算库,它旨在成为功能齐全的计算机代数系统. SymPy 包括从基本符号算术到微积 ...

  • Python2与Python3有哪些不同之处

    众所周知,Python3是Python2的升级改进版,既包含了Python2的绝大部分内容,同时又做出了一些不一样的改变.据说,Python2将于2020年左右不再免费更新维护,作为Python2的坚 ...

  • 可以解决思考和行动之间的关系问题?可以解...

    可以解决思考和行动之间的关系问题? 可以解决做的多和做的对之间的问题? 可以解决富一时和富一世之间的问题? "简单"的事情反复做.认真做.做到极致 国学修行基点(最简单):格局.因 ...

  • ★李玫瑾教授:无言自威或是解决父母和孩子之间矛盾的最好方式!

    李玫瑾教授的观点 我个人觉得,如果能够父母控制住自己,还是尽量不要动手.如果你要动了手,以后一定要向他道歉.为什么呢?就是说我也能理解,有些爸妈当时可能情景比较急!但是无论如何呢,我现在的观点啊还是不 ...

  • 动静试驾奥迪Q3 Sb丨解决年轻人和长辈之间的代沟,就靠它了

    对于年轻人来说,购车永远都是一件纠结的事情.毕业后存了点钱,再加上家里赞助的"大头",打算入手人生第一辆车.但初次购车,在需要家里赞助的情况下,在购车选择上自然又会受到父母的干涉. ...

  • Python2与Python3到底有何区别?

    为了能够拥有更好的职业发展,不少人都会转行学习编程,而python语言在编程中是非常受欢迎的语言之一,其就业前景好.工资待遇高,深受大家的喜欢和追捧.当我们学习python前,很多人都会考虑版本选择问 ...