[英]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.