簡體   English   中英

如何為python正確使用2to3?

[英]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之前進行備份很重要。

  1. 如果您使用的是 git,請提交。
  2. 否則,請備份您的文件。

首先,以“軟模式”運行 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 .
  • -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

運行起來非常簡單! 我將考慮您已經安裝了它,並逐步解釋了之后如何繼續:

  1. 在包含要轉換的文件的主文件夾中打開終端(或 cmd 用於 win 用戶)

例如C:\\Users\\{your_username}\\Desktop\\python2folder

  1. 類型

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM