Python常用技巧(一):Python2和Python3的超简单快速转换方式

在工作当中,很多时候会发现有些算法的代码是用python2.7的规范编写的,如果要修改为python3的规范,需要查询python2和python3的不同,再逐一的去修改,但是身为《励志改变世界的》程序猿们怎么可以忍受这样的麻烦呢?

其实python2.7的软件中已经写好了python2->python3的自动转换脚本,先举一个非常常见的打印输出的不同:python2.7的打印方式(没有括号可以正常输出)

python2.7的代码

打印输出正常

而python3的打印方式是必须要有括号的:

没有括号的打印在python3中打印报错

修改为添加括号后正常打印输出

那么如果通过python2.7自带的转换工具进行转换呢?很简单,主要分为三个步骤:

第一步:查找转换脚本

找到python2.7中自带的2to3.py转换脚本

找到python27的安装文件路径,比如大白的路径是C:\Python27\Tools\Scripts\2to3.py,这个就是自带的转换脚本

第二步:进行脚本转换

以大白上面演示的打印输出为例,在pycharm中进行转换:88.py为python2.7规范的文件,将2to3.py拷贝到同路径中。

可以看到,当前项目的版本为python2.7版本

在pycharm下面的Terminal中输入2to3.py -w 88.py,按回车键(注意:2to3.py -w 88.py中如果不加(-w),则默认只是把转换过程中不同的地方打印出来,不进行修改。而加了-w后,就是把改动内容,写到原先的文件中。)

可以看到文件夹下的88.py转换为python3规范的方式,而多出来的88.py.back为之前python2.7规范时的copy版本。

88.py.bak为python2.7时的副本

本文由 大白智能 作者:yang 发表,其版权均为 大白智能 所有,文章内容系作者个人观点,不代表 大白智能 对观点赞同或支持。如需转载,请注明文章来源。

发表评论

This site is protected by wp-copyrightpro.com