Python2和Python3在語法和模組的使用上會有一些差別(這裡就不詳細講解了),推薦新手直接使用python3進行程式碼編寫。實際工作中有很多運維或測試腳本還在使用python2持續運行,當我們遇到批量工作需要把python3轉化成python2(或者把python2轉化成python3)的時候,我們該如何處理呢?是不是需要一行一行地手動去修改程式碼呢?答案是否定的,本文就來介紹一下具體的實施方案。
Python3.7(自帶轉換工具C:Python37Toolsscripts2to3)我們可以直接在cmd命令列中使用它:
python 2to3.py -w D:/test.py #python2的test.py 轉換為python3
test.py檔案很簡單就是列印語句
print "hello.py"
C:Python37Toolsscripts>python 2to3.py -w D:/test.py RefactoringTool: Skipping optional fixer: buffer RefactoringTool: Skipping optional fixer: idioms RefactoringTool: Skipping optional fixer: set_literal RefactoringTool: Skipping optional fixer: ws_comma RefactoringTool: Refactored D:/test.py --- D:/test.py (original) +++ D:/test.py (refactored) @@ -1 +1 @@ -print "hello.py" +print("hello.py") RefactoringTool: Files that were modified: RefactoringTool: D:/test.py
執行後,check test.py,轉換後的程式碼如下:
print("hello.py")
參數-w 會將新文件覆蓋舊文件,不加-w 就只在控制台視窗顯示修改的地方(而文件裡的內容不會被修改);文件預設會備份成.bak(例如test.py.bak) ,如果不需要產生bak文件,則加參數-n即可。
如果需要轉換某個資料夾下的所有文件,例如D盤test資料夾下的所有文件,在命令列裡輸入:
python 2to3.py -w D:/test/
先安裝一個Python套件:lib3to2 ,pip install 3to2
#安裝成功後,會在目錄C:Python37Scripts 中產生一個檔案叫做3to2
對需要轉換的某個python檔案,例如D盤根目錄下的test.py,在命令列裡輸入:
python 3to2 -w D:/test.py #python3的test.py 轉換為python2
如果需要轉換某個資料夾下的所有文件,例如D盤test資料夾下的所有文件,在命令列裡輸入:
python 3to2 -w D:/test/
大家可以發現python 3轉python 2的方法與python 2轉python 3是極其相似的!
以上是一秒鐘完成Python3與Python2腳本相互轉換的實戰方法,您造嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!