如何正确使用2to3 for python?

时间:2013-12-08 19:35:21

标签: python python-2.7 python-3.3 python-2to3

我在python 2.7中有一些代码,我想将它们全部转换为python 3.3代码。我知道2to3可以使用,但我不确定如何使用它。谢谢你的帮助

9 个答案:

答案 0 :(得分:36)

2to3 docs上写,要将整个项目从一个目录树翻译成另一个目录树,请使用:

$ 2to3 --output-dir=python3-version/mycode -W -n python2-version/mycode

答案 1 :(得分:5)

在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脚本的目录

答案 2 :(得分:3)

如果您的路径上没有2to3,则可以直接调用lib2to3

python -m lib2to3 directory\file.py

正如the docs(和其他答案)所述,您可以使用一些标志进行更多自定义:

  • -w标志启用写回,该写回将更改应用于文件
  • -n禁用备份

(还有一些标志;有关更多信息,请参阅文档。)

答案 3 :(得分:2)

  

在运行2to3之前进行备份非常重要。

     
      
  1. 如果您使用的是git,请提交。
  2.   
  3. 否则,请备份文件。
  4.   

首先,在“软模式”下运行2to3以查看其实际作用:

$ 2to3 /path/to/your/project

如果您对它的操作感到满意,则可以“真正”运行2to3:

$ 2to3 --write --nobackups /path/to/your/project

现在您已正确运行2to3:)

答案 4 :(得分:1)

要将目录中的所有python 2文件转换为3,您只需在要翻译的目录中运行$ C:\Program Files\Python\Tools\Scripts\2to3.py -w -n.即可。无论如何,它会跳过所有非.py文件,并转换其余文件 note :如果您还想要备份文件,请删除-n标志。

答案 5 :(得分:0)

首先安装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

答案 6 :(得分:0)

要将代码从python2转换为python3,请先使用安装2to3软件包

pip install 2to3

然后在您的python代码所在的目录中运行此命令

2to3 -w -n .
  • -w标志启用回写,将更改应用于文件
  • -n禁用备份

答案 7 :(得分:0)

运行非常简单!我将考虑您已经安装了它,并逐步解释如何进行此操作:

  1. 在包含要转换文件的主文件夹中打开终端(对于Win用户,则为cmd)

例如 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。完成!

答案 8 :(得分:-2)

如果你已经安装了python,那么python 2to3.py文件主要位于目录C:/ Program Files / Python / Tools / scripts中。我有python 3.6和2to3在目录C:/ Program Files / Python36 / Tools / scripts中。 要将某个python 2代码转换为python 3,请转到命令promt,将目录更改为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'这里确保创建文件的备份文件。