python自带 python2转python3 代码工具

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jacke121/article/details/82014974

python2.x代码转为python3.x代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/symoriaty/article/details/78439769

Python官方有一个转换工具:2to3.py。 

无论是python还是Anaconda,2to3.py都在…\Tools\scripts里面。通过cmd或者anaconda prompt将文件路径定位到2to3的文件位置。

输入 python 2to3.py --help,可以看到该工具的帮助说明:

由帮助说明可以看出转换所需要的参数信息。

可以单独转换一个.py文件,也可以按照目录批量转换。

假如要转换的代码所在目录是 E:\test,

①单独转换

 python 2to3.py -w E:\test\test.py

比如:

python D:\ProgramData\Miniconda3\envs\python3.6\Tools\scripts\2to3.py -w a_2.py

②按目录批量转换

 python 2to3.py -w E:\test

转换过后会发现多了一个.py.bak文件,这是原来的.py文件备份

这是我们同事总结的代码:

# coding=utf-8

import os


# 定义一个处理方法

def Python2toPython3(dirname, p2to3FileName):
    if os.path.exists(dirname):

        for dirpath, dirnames, filenames in os.walk(dirname):

            for filename in filenames:

                if filename.endswith('.py'):
                    fileFullName = os.path.join(dirpath, filename)

                    print(('Processing File:', fileFullName))

                    pycode2to3 = ("python " + p2to3FileName + " -w " +

                                  fileFullName)

                    print((os.popen(pycode2to3, 'r').read()))


# dirname 需要转换的文件目录

dirname = "C:/Users/Administrator/Desktop/koala"

# p2to3FileName 本机Python安装目录下的2to3.py的路径,2to3.py是python自带的工具

p2to3FileName = ("D:/Users/Administrator/Miniconda3/pkgs/python-3.6.3-h9e2ca53_1/Tools/scripts/2to3.py")

Python2toPython3(dirname, p2to3FileName)
 

猜你喜欢

转载自blog.csdn.net/jacke121/article/details/82014974