我有一个小项目,我想尝试移植到Python 3 - 我该怎么做呢?
我已经使用python2.6 -3
(主要是删除.has_key()
次调用)使代码运行而没有警告,但我不确定使用2to3工具的最佳方法。
使用2to3工具将此源代码转换为3.0语法。不要手动编辑输出!
运行2to3 something.py
会输出一个差异,这对它自己没用。使用--write
标志覆盖something.py并创建备份..看起来我必须这样做..
2to3 something.py
python3.0 something.py
mv something.py.bak something.py
vim something.py
# repeat
..这有点像回合 - 理想情况下我可以做点像......
mv something.py py2.6_something.py # once
2to3 py2.6_something.py --write-file something.py
vim py2.6_something.py
# repeat
答案 0 :(得分:5)
啊哈,您可以将2to3输出传递给patch
命令,该命令可以将修改后的文件写入新文件:
mv something.py py2.6_something.py
2to3 py2.6_something.py | patch -o something.py
答案 1 :(得分:0)
2.x应该是活动开发的代码库,因此2to3应该真正在分支或临时目录中运行。我不确定你为什么要在同一目录中放置2.x和3.x版本。 distutils有一个build_2to3脚本,在3.0安装时运行2to3。