分享一个刚写的批量python 2转python3 代码,之前一直是一个一个转,效率有点低,有时候某些就忘了转了。
python3 现在是大势所趋,不久python2 就要停止支持了。我们有时候需要批量转换一下python2 的代码。
import os
def EnumPathFiles(path):
if not os.path.isdir(path):
print('Error:"',path,'" is not a directory or does not exist.')
return
list_dirs = os.walk(path)
for root, dirs, files in list_dirs:
for d in dirs:
EnumPathFiles(os.path.join(root, d))
for f in files:
cmd="2to3 -w "
if f.endswith(".py"):
path_py=path+"\\"+f
cmd += path_py
res=os.popen(cmd)
print(res.read())
if __name__ == '__main__':
EnumPathFiles(r'F:\ohem\tools')
根据这个代码,我们可以批量转换某个文件夹下的Python2 代码,并做了备份。调用的就是官方给的2to3 函数,然后用Python调用命令行做了封装。