批量python2 轉python3 代碼

分享一個剛寫的批量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調用命令行做了封裝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章