py2to3--将python2项目转成python3项目
前言
习惯python3的写法就不愿意用python2的语法规则。碰巧碰到了一个大型的python2项目。所以这时候py2to3就诞生了
py2to3简介
2to3的简单集合,主要实现目标:将一个python2项目全部转换为python3,所以现在就只有一个参数–目标项目的绝对路径(或者相对与main function的相对路径)
py2to3项目地址
现在就实现了主要的转换功能, 也希望可以帮助到需要用到的同学, 如果你有需要或者感兴趣, 可以尝试着给这个项目提交issue或者pr
代码分析
2to3.py
还可以通过 pip install 2to3 安装官方2to3模块
import sys
from lib2to3.main import main
sys.exit(main("lib2to3.fixes"))
py2to3.py
通过递归遍历目标项目文件夹下的所有文件,把python文件都进行一遍转换,2to3模块会自动识别文件内容并转换
参数为目标文件的绝对路径或者相对于该文件的相对路径
#-*- coding:utf-8 -*-
import os
import sys
WIN = sys.platform.startswith('win')
if WIN:
path_sprit = '\\'
else:
path_sprit = '/'
def py2to3(path):
'''
:param path: Absolute path to the target project folder
:return: no return
'''
for i in os.listdir(path):
path2 = os.path.join(path, i)
if os.path.isdir(path2): # 如果为文件夹,则进入递归
py2to3(path2)
else:
if 'py' == i.split(