首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使Python 2与Python 3兼容

使Python 2与Python 3兼容
EN

Stack Overflow用户
提问于 2015-05-13 11:47:29
回答 1查看 1.2K关注 0票数 0

我目前的要求是用Python 2.4.3编写一个脚本,这个脚本与RHEL 5捆绑在一起。但是几年后,比如说5年后,服务器可能升级到Python 3附带的RHEL 8或9。因此,我应该编写与这两个版本兼容的代码。现在,我的脚本包含了一些基本操作,例如创建目录、解压缩文件、文件操作、XML文件读取(我现在正在使用minidom )和一些散列操作。

现在,我发现一个名为python-modernize的工具完成了构建在2to3之上的工作。我搜索了这个工具,但得到了一个tar.gz文件。它不包含python现代化的文件,就像他们在使用中所说的那样。但我只找到了一个setup.py文件。我对Python很陌生,我所知道的就是用pip完成了一些事情。但我也读到,使用pip对于Python2.4.3来说是一项艰巨的工作。

请告诉我如何才能完成这项工作。

我还提到了this,但是找不到如何使用这个工具。

此外,请让我知道,如果有任何好的替代办法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-13 11:50:30

使用本杰明彼得森的six libary。

它是专门为这个用例设计的。它允许您通过从6个库导入与Python 2和Python 3不同的内容,从而有一个既支持Python 2又支持Python 3的代码库。

只需导入它并使用它的定义:

代码语言:javascript
复制
import six

示例:

代码语言:javascript
复制
from six import u, b

以上是Python对Unicode和Bytes工作方式进行更严格更改的典型例子。

6是一个Python 2和3兼容性库。它提供实用函数来平滑Python版本之间的差异,目的是编写在两个Python版本上兼容的Python代码。有关提供的内容的更多信息,请参见文档。 自2.5以来,六个版本都支持每个Python版本。它只包含在一个Python文件中,因此可以很容易地复制到您的项目中。(必须保留版权和许可通知。)

更新:对不起,我错过了Python<=2.5的要求;但老实说,我认为使用6是最好的选择。您必须说服拥有的能力,使其至少使用Python2.5。

更新2:我最强烈的建议是至少将代码升级到Python2.7。不要落在后面,否则你就永远在球后面!

更新3:根据上述非常有用的评论,;我同意。把你现在的一切都做好。5年确实是一段很长的时间,这些限制可能在那时还不存在!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30213908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档