問題
Python2 的代碼直接在 Python3 環境運行的話會報錯誤:
如果大量的代碼,無論是批量替換,還是逐行修改都夠累的,這活兒表示不能干!
有沒有辦法一鍵轉換呢?
百度了一下發現網上的方法如下:
可以利用 Python 內置工具 2to3.py, 幫你自動將 Python2 的代碼轉換為 Python3 的代碼的。這個腳本的位置在 Python 安裝的根目錄Python27ToolsScriptsto3.py.
比如我手上有個 Python2.x 的 Python 腳本:D: mp ransform.py.
可以通過打開命令提示符,定位之該要轉換的腳本目錄下,然后運行
2to3.py -w transform.py
如果上述不加 -w 參數,則默認只是把轉換過程所應對的 diff 內容打印輸出到當前窗口而已。加了 -w 就是吧改動內容,寫會到原先的文件了。
覺得麻煩的有木有?這絕對不是一個程序員想干的事!
於是想到了通過對.py文件右鍵添加一個命令進行自動處理:
將下邊面的 reg 代碼復制另存為“python 2to3.reg”文件,然后雙擊此文件,導入到注冊表。
indows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTPython.FileShelleditwithidleshellto3command]
@="cmd /c C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Tools\scripts\2to3.py -w "%1""
說明:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Tools\scripts\2to3.py 此文件路徑在 python 安裝目錄,保持跟本機一致!
然后右鍵.py文件,發現右鍵菜單多了個菜單:
點擊運行,再看 .py 文件已經自動轉換完成!