python2&python3程序兼容

  |   源代码

2to3工具

2to3一般会随python解释器一起安装,是自动转化python2代码到python3代码的脚本工具,能够解决大部分常见的python3解释器不兼容python2代码问题。

2to3工具说明

python官方中文文档

常用命令:

# 傻瓜式使用
2to3 -w -n <python file or dir>
# 2to3 默认只是在终端显示需要修改的项目。 -w 参数表示直接写入源文件 -n 表示不生成.bak备份文件

2to3 并不能修复所有python2->python3的不兼容

2to3 能决绝大部分代码规范上兼容问题,但是也有一些意外情况。例如引入库的不兼容, 编码api不兼容问题等情况,必要的时候还是需要人工修复。

  1. 对于引入库的不兼容问题,虽然现在主流的python都意见兼容python3,但是还是有些python2的库不兼容,有些是库的名字改了,有些是有了新的替代库。
  2. 对于编码问题处理,由于python3对字符编码机制做了很大改动,特别是对于中文编码问题,大多时候需要人工修复。
  3. 其他不能修复的兼容问题,由于python2在2020年1月份就不再进行一些安全方面的更新了,同时python3社区已经很成熟,如果遇到其他引入库不兼容问题,可以尝试升级引入库,如不能解决再尝试是有搜索引擎寻寻找解决办法。

相关链接:

MySqldb库python3不兼容问题

Comments powered by Disqus