[英]How to use 2to3 properly for python?
我在 python 2.7 中有一些代碼,我想將它們全部轉換為 python 3.3 代碼。 我知道可以使用 2to3 但我不確定如何使用它。
安裝以下模塊,將 2to3 命令直接添加到 entry_points。
pip install 2to3
正如2to3 docs所寫,要將整個項目從一個目錄樹轉換為另一個目錄樹,請使用:
2to3 --output-dir=python3-version/mycode -W -n python2-version/mycode
如果您的路徑上沒有2to3
,則可以直接調用lib2to3
:
python -m lib2to3 directory\file.py
正如文檔(和其他答案)所提到的,您可以使用一些標志進行更多自定義:
-w
標志啟用寫回,將更改應用於文件-n
禁用備份(還有一些標志;有關更多信息,請參閱文檔。)
在運行
2to3
之前進行備份很重要。
- 如果您使用的是 git,請提交。
- 否則,請備份您的文件。
首先,以“軟模式”運行 2to3 以查看它實際執行的操作:
$ 2to3 /path/to/your/project
如果您對它會做什么感到滿意,那么您可以“真正地”運行 2to3:
$ 2to3 --write --nobackups /path/to/your/project
現在您已正確運行2to3
:)
在 Windows 上:
python {path_to_python}\tools\scripts\2to3.py --output-dir={output_dir} -W -n {input_dir}
path_to_python
= Python 安裝目錄
output_dir
= 輸出 Python3 腳本的目錄
input_dir
= 讀取 Python2 腳本的目錄
要將目錄中的所有 python 2 文件轉換為 3,您只需運行$ C:\\Program Files\\Python\\Tools\\Scripts\\2to3.py -w -n.
在您要翻譯的目錄中。 無論如何,它會跳過所有非.py
文件,並轉換其余文件。
注意:如果您也需要備份文件,請刪除 -n 標志。
要將代碼從 python2 轉換為 python3,首先使用以下命令安裝 2to3 包
pip install 2to3
然后在您的python代碼所在的目錄中運行此命令
2to3 -w -n .
首先安裝 python 2to3
包:
C:\Default> pip install 2to3
比將您的python2
文件轉換為新文件夾中的python3
,即python3-version/mycode
C:\Default> 2to3 your_file_name.py --output-dir=python3-version/mycode -w -n
您的新python3
文件可以在新文件夾中看到,即python3-version/mycode
運行起來非常簡單! 我將考慮您已經安裝了它,並逐步解釋了之后如何繼續:
例如C:\\Users\\{your_username}\\Desktop\\python2folder
python {your_2to3.py_install_directory} -w .\\
例如在我的情況下(win10)它將是:
python C:"\\Program Files"\\Python39\\Tools\\scripts\\2to3.py -w .\\
這將使程序掃描整個目錄(以及子目錄)並自動將用 Python2 編寫的所有內容轉換為 Python3。
-w
標志使腳本應用更改創建新的轉換文件。 所以刪除這個你只想掃描並查看需要轉換的內容(但實際上不做任何事情)
如果您只想轉換一個文件而不是整個文件夾,只需將.\\
替換為python2_file_name.py
:
例如python {your_2to3.py directory} -w python2_file_name.py
此外,默認情況下,它會為其轉換的所有內容創建一個 .bak 文件。 強烈建議保持這種方式,因為任何轉換都容易出錯,但如果您想禁用自動備份,您還可以添加-n
標志。
例如python C:"\\Program Files"\\Python39\\Tools\\scripts\\2to3.py -w -n python2_file_name.py
3.完成!
如果您已經安裝了 python,python 2to3.py 文件主要位於目錄 C:/Program Files/Python/Tools/scripts 中。 我有 python 3.6 和 2to3 在目錄 C:/Program Files/Python36/Tools/scripts 中。 要將某個 python 2 代碼轉換為 python 3,請轉到您的命令提示符,將目錄更改為 C:/Program Files/Python36/Tools/scripts,其中找到 2to3 文件。 然后添加以下命令:python 2to3.py -w(腳本目錄)。
例如。 C:\\Program Files\\Python36\\Tools\\scripts> python 2to3.py -w C:Users\\Iykes\\desktop\\test.py。
此處的“-w”可確保為您的文件創建備份文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.