首頁 >後端開發 >Python教學 >一秒鐘完成Python3與Python2腳本相互轉換的實戰方法,您造嗎?

一秒鐘完成Python3與Python2腳本相互轉換的實戰方法,您造嗎?

PHPz
PHPz轉載
2023-04-15 09:31:022110瀏覽

一秒鐘完成Python3與Python2腳本相互轉換的實戰方法,您造嗎?

Python2和Python3在語法和模組的使用上會有一些差別(這裡就不詳細講解了),推薦新手直接使用python3進行程式碼編寫。實際工作中有很多運維或測試腳本還在使用python2持續運行,當我們遇到批量工作需要把python3轉化成python2(或者把python2轉化成python3)的時候,我們該如何處理呢?是不是需要一行一行地手動去修改程式碼呢?答案是否定的,本文就來介紹一下具體的實施方案。

python 2轉python 3

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 3轉python 2

先安裝一個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中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除