0

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

现在我发现一个名为的工具python-modernize可以完成构建在2to3. 我搜索了该工具,但得到了一个 tar.gz 文件。正如他们在使用中所说的那样,它不包含 python-modernize 文件。但我发现的只是一个setup.py文件。我是 Python 新手,我所知道的只是用pip. 但我也读到使用 pip 对于 Python 2.4.3 来说是一项艰巨的工作。

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

我也提到了这个,但找不到如何使用该工具。

另外请让我知道是否有任何好的替代方法。

4

1 回答 1

1

使用six来自 Benjamin Peterson 的库。

它是专门为这个用例设计的。它允许您通过从六个库中导入与 2 到 3 不同的东西来拥有一个同时支持 Python 2 和 Python 3 的代码库。

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

import six

例子:

from six import u, b

以上是 Python 3+ 对 Unicode 字符串和字节的工作方式进行更严格更改的经典案例。

Six 是一个 Python 2 和 3 兼容库。它提供了用于平滑 Python 版本之间差异的实用函数,目的是编写在两个 Python 版本上兼容的 Python 代码。有关所提供内容的更多信息,请参阅文档。

6 支持自 2.5 以来的所有 Python 版本。它仅包含在一个 Python 文件中,因此可以轻松复制到您的项目中。(必须保留版权和许可声明。)

更新:对不起,我错过了Python<=2.5那里的要求;但老实说,我认为使用六个是你​​最好的选择。你必须说服权威你必须至少使用 Python 2.5。

更新 #2:我最强烈的建议是至少将您的代码升级到 Python 2.7。不要落后,否则你将永远落后于球!

更新#3:根据上面非常有用的评论;我同意。只需使用你现在拥有的东西。5年确实很长,到时候可能就没有同样的限制了!

于 2015-05-13T11:50:30.193 回答