如何在python中正确使用2to3?
我在Python2.7中有一些代码,我想把它们全部转换成Python3.3代码。我知道2T3可以使用,但我不确定具体如何使用 安装以下模块,将2to3命令直接添加到入口点如何在python中正确使用2to3?,python,python-2.7,python-3.3,python-2to3,Python,Python 2.7,Python 3.3,Python 2to3,我在Python2.7中有一些代码,我想把它们全部转换成Python3.3代码。我知道2T3可以使用,但我不确定具体如何使用 安装以下模块,将2to3命令直接添加到入口点 pip install 2to3 如上面所述,要将整个项目从一个目录树转换为另一个目录树,请使用: 2to3 --output-dir=python3-version/mycode -W -n python2-version/mycode 要将目录中的所有python 2文件转换为3,只需在要转换的目录中运行$C:\Pro
pip install 2to3
如上面所述,要将整个项目从一个目录树转换为另一个目录树,请使用:
2to3 --output-dir=python3-version/mycode -W -n python2-version/mycode
要将目录中的所有python 2文件转换为3,只需在要转换的目录中运行
$C:\Program files\python\Tools\Scripts\2to3.py-w-n.
。它将跳过所有非.py
文件,并转换其余文件。注意:如果还需要备份文件,请删除-n标志。如果已经安装了python,则python 2to3.py文件主要位于目录C:/Program Files/python/Tools/scripts中。我有Python3.6和2to3在目录C:/Program Files/Python36/Tools/scripts中。 要将特定的Python2代码转换为Python3,请转到命令promt,将目录更改为C:/Program Files/Python36/Tools/scripts,其中包含2to3文件。然后添加以下命令: python2to3.py-w(脚本的目录) 例如C:\ProgramFiles\Python36\Tools\scripts>Python2to3.py-WC:Users\Iykes\desktop\test.py 此处的'-w'确保为您的文件创建备份文件。在Windows上:
python {path_to_python}\tools\scripts\2to3.py --output-dir={output_dir} -W -n {input_dir}
path\u to\u python
=安装python的目录
output\u dir
=输出Python3脚本的目录
input\u dir
=从何处读取Python2脚本的目录如果路径上没有2to3
,可以直接调用lib2to3
:
python -m lib2to3 directory\file.py
如(和其他答案)所述,您可以使用一些标志进行更多定制:
- 启用写回的
标志,将更改应用于文件-w
- 禁用备份的
-n
2to3
之前进行备份非常重要
$ 2to3 /path/to/your/project
如果您对它的功能感到满意,那么您可以“真正”运行2to3:
现在您已经正确运行了
2to3
:)首先安装python2to3
包:
C:\Default> pip install 2to3
然后将python2
文件转换为新文件夹中的python3
,即python3版本/mycode
C:\Default> 2to3 your_file_name.py --output-dir=python3-version/mycode -w -n
新的
python3
文件可以在新文件夹中看到,即python3版本/mycode
要将代码从python2转换为python3,请首先使用
C:\Default> 2to3 your_file_name.py --output-dir=python3-version/mycode -w -n
pip install 2to3
然后在python代码所在的目录中运行此命令
2to3 -w -n .
- -w标志以启用写回,将更改应用于文件
- -n禁用备份
- 打开包含要转换文件的主文件夹内的终端(或win用户的cmd) e、 g。
- 运行它非常简单!我会考虑你已经安装了它,并解释如何接着进行:
C:\Users\{your_username}\Desktop\python2folder
python{your_2to3.py_install_directory}-w.\
e、 g.在我的情况下(win10),它将是:
PythonC:“\Program Files”\Python39\Tools\scripts\2to3.py-w.\
这将使程序扫描整个目录(以及子目录),并自动将用Python2编写的所有内容转换为Python3
-w
标志使脚本应用更改以创建新的转换文件。因此,请删除此项,您只需扫描并查看需要转换的内容(但不实际执行任何操作)
如果您只想转换一个文件而不是整个文件夹,只需将\
替换为python2\u file\u name.py
:
e、 g.python{your2to3.py directory}-w python2_file_name.py
此外,默认情况下,它会为转换的所有内容创建一个.bak文件。强烈建议保持这种方式,因为任何转换都容易出错,但如果您想禁用自动备份,也可以添加-n
标志
e、 g.pythonc:“\ProgramFiles”\Python39\Tools\scripts\2to3.py-w-n python2\u file\u name.py
3.完成 我可以使用python 2.7脚本文件夹中的2to3文件吗?因为我听说需要cmd。是的,你可以用那个。你必须打开一个控制台(如果是windows,则为cmd)并执行该文件,该文件提供了答案中所写的正确参数。仍然不太确定如何准确使用。你能提供一些额外的细节吗?我假设你是在windows环境中,因为你提到了cmd。基本上,2to3是一个需要通过控制台运行的python脚本。如果在路径上查找2to3时遇到问题,请尝试“python path/to/script/2to3.py参数”。不过,这期望python也能走上正轨。如果您面临进一步的问题,请尝试在google上搜索“如何在windows中执行python脚本”或更具体地说“如何在windows中执行2to3”,我似乎会收到一个错误,即RefactoringTool:无法打开任何这样的文件或目录如果您删除-w标志,该文件根本不会被转换。删除此标志就像预览您可能的更改一样。@Leonardo Lopez,你说得对。用于关闭备份功能的不是
-w
,而是-n
。谢谢。如果删除-w标志,则文件根本不会被转换。删除此标志就像预览您的潜在更改在linux的情况下,它是2to3-w-n/