python2代碼批量轉為python3代碼


由於python存在python2和python3兩個主要的版本方向,經常會有將python2的代碼轉到python3的環境下運行的需求。尤其是跑一些神經網絡的代碼時有很多是在python2的環境下寫的。在python3下運行會遇見很多不兼容,最常見的就是python3中print函數必須加()而python2中不是。一個一個修改這種錯誤又非常麻煩。

一個快速將python2代碼批量轉為python3代碼的好方法

此時一種方式是再安裝一個python2,比如下載anaconda對應的python2的版本,管理相關的庫,運行的時候指定python2運行。不過如果是運行依賴比較多的代碼可能需要在python2的環境安裝許多包。

一個快速將python2代碼批量轉為python3代碼的好方法

這里介紹一個python3自帶的腳本2to3.py,可以將python2的程序自動轉為python3的形式,節省了很多修改細節的時間。這個腳本在Python安裝目錄下Toolsscripts文件夾下,如果是利用anaconda3安裝的python3,就在anaconda3/Tools/scripts中,如下圖:

一個快速將python2代碼批量轉為python3代碼的好方法

這個文件實際是可以復制到電腦任何位置使用的,當然也可以就在這個位置利用cmd使用,里面的代碼也很簡單,只有幾行:

一個快速將python2代碼批量轉為python3代碼的好方法

使用方法也很簡單,如果我需要轉換某個python文件,比如E盤根目錄下的test.py,只需要在命令行里輸入

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

一個快速將python2代碼批量轉為python3代碼的好方法

如果需要轉換某個文件夾下的所有文件,例如E盤test文件夾下的所有文件,只需要在命令行里輸入

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

一個快速將python2代碼批量轉為python3代碼的好方法

就是這么簡單就可以完成python2代碼像python3代碼的變換,當然目前對於一些比較復雜的依賴這種方法還不能完全轉換,還需要根據運行錯誤調整,不過已經可以節省很多的時間啦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM