首页 > 编程笔记 > Python笔记

Python 2to3:自动将Python 2.x代码转换成Python3.x代码

本节内容针对已有 Python 基础的学员,初学者可直接跳过本节内容,继续往下学习。

由于 Python 2.x 和 Python 3.x 的差别较大,因此 Python 2.x 的多数代码无法直接在 Python 3.x 环境中运行。而由于兼容性的原因,我们在网络上查找的资源多数是Python 2.x 的代码,如果想要在 Python 3.x 环境下运行,就需要修改源代码。

针对这一问题,Python 官方提供了一个将 Python 2.x 代码自动转换为 Python 3.x 代码的小工具,它就是 2to3.py,通过该工具可以将大部分 Python 2.x 代码转换为 Python 3.x 代码。

接下来,就给大家详细介绍一下,如何使用 2to3.py 将 Python 2.x 代码转换成 Python 3.x 代码。

假设我们现在有 Python 2.x 的代码,要将其转换成 Python 3.x 代码,需要按照一下几个步骤进行操作:
  1. 找到 2to3.py 文件,该文件保存在 Python 安装路径下的 “Tools\scripts” 目录中。比如说,我们将 Python 安装在了“G:\Python\Python36”目录中,那么 2to3.py 文件则保存在 “G:\Python\Python36\Tools\scripts ”目录中,如图 1 所示:

    Python 2.x 转 Python 3.x 的工具
    图 1 Python 2.x 转 Python 3.x 的工具
     
  2. 将 2to3.py 文件复制到要转换代码所在的目录中。
  3. 打开命令行窗口,并进入要转换代码文件所在的目录。例如,该文件保存在“E:\change”目录下,则在命令行窗口中可输入如下命令:

    C:\users\Demo>E:
    E:\>cd change
    E:\change>

  4. 调用 2to3.py 工具转化代码。例如,要转化的文件名称为 demo.py 文件,可以使用下面的代码:

    Python 2to3.py -w demo.py

    执行此行代码之后,将会在 “E:\change” 目录下创建一个 demo.py 文件的备份文件,名称为 demo.py.bak,同时,原 demo.py 文件的内容被转换为 Python 3.x 对应的代码。

注意,在使用 2to3.py 转换 python 2.x 代码前,尽量不要把要转换的代码保存在 C 盘中,因此如果保存在 C 盘,可能会因权限问题导致转换不能正常完成。

所有教程

优秀文章