python2目前已经停止维护了,之前用Python2写的代码要迁移到python3,需要做转换,因为,两者在语法方面存在部分差异。今天在工作中遇到了这样的迁移需求,顺便记录一下迁移方法。
安装python3后,会带有一个转换工具2to3,可以非常方便的完成代码转换。下面讲一下工具的使用方法,测试文件夹目录结构如下,其中是待转换的文件。
.test
├── 5.py
└── 6.py
-
转换单个文件
2to3 -w 5.py
此时,5.py已经转换为python3文件,同时,文件夹中会多出一个文件5.py.bak,即转换前5.py的副本。test
├── 5.py
├── 5.py.bak
└── 6.py如果不想保存副本,可以使用如下命令,多了一个选项 -n
2to3 -wn 5.py -
批量转换多个文件
2to3 -wn ./test -o ./result
执行以上命令后,会将test目录中的文件转换后存放到result文件夹中,如下├── result
│ ├── 5.py
│ └── 6.py
└── test
├── 5.py
└── 6.py-o 将转换的文件存放到指定目录
除以上用到的 -w -n -o 选项外,其他更多选项可以使用 2to3 -h 查阅。