Python2代码转Python3代码
Python2代码转Python3代码教程
由于 Python 存在 Python2 和 Python3 两个主要的版本方向,经常会有将 Python2 的代码转到 Python3 的环境下运行的需求。
尤其是跑一些神经网络的代码时有很多是在 Python2 的环境下写的。在 Python3 下运行会遇见很多不兼容。
Python2代码转Python3代码
Python2 代码转 Python3 代码的一种方式是再安装一个 Python2,比如下载 anaconda 对应的 Python2 的版本,管理相关的库,运行的时候指定 Python2 运行。不过如果是运行依赖比较多的代码可能需要在 Python2 的环境安装许多包。
Python2 代码转 Python3 代码 的另一种方式是 Python3 自带的脚本 2to3.py,可以将 Python2 的程序自动转为 Python3 的形式,节省了很多修改细节的时间。
2to3.py使用
2to3.py脚本路径
在安装路径的 Tools\scripts
目录下,如下图所示:
2to3.py转换单个文件
这个文件实际是可以复制到电脑任何位置使用的,当然也可以就在这个位置利用 cmd 使用。首先,我们在 E
盘根目录,新建一个 haicoder.py
文件,如下图所示:
打开该文件,输入以下内容:
print 'HaiCoder(www.haicoder.net)'
打开 E:
,在地址栏输入 cmd
,即可以在该目录打开命令行,如下图所示:
回车,在该目录打开命令行,如下图所示:
此时,我们输入以下命令:
python haicoder.py
这里我安装的是 Python3,运行的是 Python2 的代码,命令行提示错误,如下图所示(具体 Python3 安装,请参考 Python3 安装教程 ):
此时,我们在安装路径的 Tools\scripts
目录下,打开 cmd
,如下图所示:
接着,我们在命令行输入以下命令,将 Python2 代码转成 Python3 :
python 2to3.py -w E:/haicoder.py
此时,命令行输出如下图所示:
同时,在 E
盘根目录生成了一个新的文件 haicoder.py.bak
,如下图所示:
此时,我们打开文件 haicoder.py
发现,代码如下:
print('HaiCoder(www.haicoder.net)')
打开文件 haicoder.py.bak
,代码如下:
print 'HaiCoder(www.haicoder.net)'
即文件 haicoder.py
是已经被转换成 Python3 的代码,文件 haicoder.py.bak
是原来的代码的备份。最后,我们再次在命令行输入以下命令,运行程序:
python haicoder.py
命令行输出,如下图所示:
运行成功,说明我们成功的使用 2to3.py 将 Python2 代码转成了 Python3 代码。
2to3.py转换多个文件
如果需要转换某个文件夹下的所有文件,例如 E 盘 test 文件夹下的所有文件,只需要在命令行里输入:
python 2to3.py -w E:/test/
Python2代码转Python3代码总结
Python2 代码转 Python3 代码使用的工具是 2to3.py ,2to3.py 文件的路径在安装路径的 Tools\scripts
目录下。
2to3.py 转换单个文件的语法为:
python 2to3.py -w E:/haicoder.py
2to3.py 转换多个文件的语法为:
python 2to3.py -w E:/test/