随着2020年的到来,Python2也走到了生命的尽头。2020年1月1日起,Python核心团队将不再对Python2提供任何支持。1.怎么办?由于Python3不向下兼容Python2,所以对于已经写过Python2并且正在运行Python2项目的同学来说,是时候将项目迁移到Python3了。正在学习Python的同学,不要犹豫直接学习Python3教程。如果您正在阅读的教程是用Python2编写的,请立即扔掉它。2.迁移方法现在有很多自动化工具可以帮助你将代码从Python2迁移到Python3。例如内置的2to3模块:2to3的基本调用参数是需要迁移的文件或目录的列表被转换。对于目录,递归搜索Python源代码。这是一个Python2.x源文件,example.py:**def**greet(name):print"Hello,_{0}_!".format(name)print"What'syourname?"name=raw_input()greet(name)找到你的Python安装位置,一般2to3会在Toolsscripts文件夹下:C:\Python3X\Tools\scripts\2to3.py,在CMD中输入以下命令将Python2代码转Python3代码(因为我使用anaconda,位置可能和你的不一样):F:\Anaconda3\Scripts\2to3.exeexample.py会显示所有修改,输出如下:RefactoringTool:Skippingoptionalfixer:bufferRefactoringTool:Skippingoptionalfixer:idiomsRefactoringTool:跳过可选修复器:set_literalRefactoringTool:跳过可选修复器:ws_commaRefactoringTool:重构example.py---example.py(原始)+++example.py(重构)@@-1,5+1,5@@defgreet(name):print"Hello,{0}!".format(name)-print"你叫什么名字?"-name=raw_input()print("Hello,{0}!".format(name))+print("What'syourname?")+name=input()greet(name)RefactoringTool:需要修改的文件:RefactoringTool:example.py如果要写回文件记得带-w参数:F:\Anaconda3\Scripts\2to3.exe-wexample.py现在看起来像这样:defgreet(name):print("Hello,{0}!".format(name))print("What'syourname?")name=input()greet(name)很方便,a键修改完成后,可以转换大部分Python2代码。更详细的文档在这里:https://docs.python.org/zh-cn/3.7/library/2to3.html#不过,2to3.py并不是万能的。在某些情况下,您只能手动转换代码。如果遇到无法用工具迁移的问题,请耐心寻找解决方案。这是我们文章的结尾。如果你今天想要我们的Python教程,请继续关注我们。如果对您有帮助,请在下方点赞或观看。如果您有任何问题,可以在下方留言区留言。我们会耐心解答!Python实战宝典(pythondict.com)不仅仅是一个集合。欢迎关注公众号:Python实战宝典原文来自Python实战宝典:2020年已至,Python2已告一段落,请迁移
