由于python存在python2和python3两个主要的版本方向,经常会有将python2的代码转到python3的环境下运行的需求。尤其是跑一些神经网络的代码时有很多是在python2的环境下写的。在python3下运行会遇见很多不兼容,最常见的就是python3中print函数必须加()而python2中不是。一个一个修改这种错误又非常麻烦。

此时一种方式是再安装一个python2,比如下载anaconda对应的python2的版本,管理相关的库,运行的时候指定python2运行。不过如果是运行依赖比较多的代码可能需要在python2的环境安装许多包。

这里介绍一个python3自带的脚本2to3.py,可以将python2的程序自动转为python3的形式,节省了很多修改细节的时间。这个脚本在Python安装目录下Toolsscripts文件夹下,如果是利用anaconda3安装的python3,就在anaconda3/Tools/scripts中,如下图:

这个文件实际是可以复制到电脑任何位置使用的,当然也可以就在这个位置利用cmd使用,里面的代码也很简单,只有几行:

使用方法也很简单,如果我需要转换某个python文件,比如E盘根目录下的test.py,只需要在命令行里输入

python 2to3.py -w E:/test.py

如果需要转换某个文件夹下的所有文件,例如E盘test文件夹下的所有文件,只需要在命令行里输入

python 2to3.py -w E:/test/

就是这么简单就可以完成python2代码像python3代码的变换,当然目前对于一些比较复杂的依赖这种方法还不能完全转换,还需要根据运行错误调整,不过已经可以节省很多的时间啦。

python2代码批量转为python3代码的更多相关文章

  1. 将python2代码转为python3

    将python2代码转为python3 1.2to3在anaconda的/bin文件夹下: 2.打印帮助信息 2to3 --help 3.使用2to3 -W [要转换的python2文件目录] 4.转 ...

  2. python 内置2to3工具将python2代码转换为python3代码

    python2与python3代码不兼容,如果需要python2代码在python3环境下运行,需要将代码进行转换,本文介绍使用python3内置工具2to3.py对代码进行转换 一:2to3.py在 ...

  3. python2到python3代码转化:2to3

    Mac系统上: 安装完python3后,2to3可以作为指令直接执行,-w代表"Write back modified files","."代表当前整个文件夹, ...

  4. 用感知机(Perceptron)实现逻辑AND功能的Python3代码

    之所以写这篇随笔,是因为参考文章(见文尾)中的的代码是Python2的,放到Python3上无法运行,我花了些时间debug,并记录了调试经过. 参考文章中的代码主要有两处不兼容Python3,一个是 ...

  5. 去掉tppabs冗余代码,怎样批量去掉tppabs代码

    去掉tppabs冗余代码,怎样批量去掉tppabs代码 刚用teleport pro拉了一个整站到本地 所有的超链都被强行加了一句tppabs="   就玩了一把dw的替换功能 查找范围:整 ...

  6. Teleport Ultra/Teleport Pro的冗余代码批量清理方法

    Teleport Pro 是款优秀的网站离线浏览工具(即网站整站下载工具),Teleport Ultra是其增强版,但使用此系列软件下载的离线网页里会包含大量冗余代码(如tppabs),手动去修改工作 ...

  7. VS中批量删除cs代码中的#region和#endregion

    Visual Studio中如何批量删除cs代码中的#region和#endregion,不删除它们中间的代码,只删除这两个标记及标记的注解的方法.Vs中提供了很强大的文本查找与替换功能,简单的替换只 ...

  8. js手机号批量滚动抽奖代码实现

    我们平时在看一些选秀节目或一些歌唱类比赛节目时经常会看到在现场的大屏幕上会有观众的手机号在滚动来选出谁是幸运观众或谁中了什么奖项,这些手机号都是现场观众或场外观众在给选手投票时产生的,当主持人一声开始 ...

  9. [转]Teleport Ultra/Teleport Pro的冗余代码批量清理方法

    原文地址:http://www.abcd9.com/?post=402 Teleport Pro 是款优秀的网站离线浏览工具(即网站整站下载工具),Teleport Ultra是其增强版,但使用此系列 ...

随机推荐

  1. thrift的使用及遇到的问题

    centos 系统安装官方文档:http://thrift.apache.org/docs/install/centos 一.按该文档安装出现了一系列的问题,记录如下: 1.安装thrift时./bo ...

  2. ggplot2-为图形加入直线

    本文更新地址:http://blog.csdn.net/tanzuozhev/article/details/51112057 本文在 http://www.cookbook-r.com/Graphs ...

  3. 使用match、test控制输入字符格式后键盘向左向右键光标自动定位解决

    直接举例说明(正则表达式替换红色区域即可) /** * 判断是否位数字 * @param obj 数字 */ function numOnly(obj) { if(!(/^\d*$/.test(obj ...

  4. Linux的基本使用

    检测某个地址是否可以通信:ping xx.xx.xx.xx 检测某个端口是否开启:telnet xx.xx.xx.xx port 端口:用来区别不同服务 常用命令: 创建一个目录 /data mkdi ...

  5. 网页编程-django前传

    1.js正则表达式  http://www.cnblogs.com/wupeiqi/articles/5602773.html test  - 判断字符串是否符合规定的正则 正则表达式: rep = ...

  6. NYOJ 905 卡片游戏

    卡片游戏 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描写叙述 小明近期宅在家里无聊.于是他发明了一种有趣的游戏.游戏道具是N张叠在一起的卡片,每张卡片上都有一个数字,数字 ...

  7. 一起学android之怎样卸载指定的 应用程序(25)

    效果图例如以下: 代码例如以下: public class MainActivity extends Activity { private Button btn_delete; @Override p ...

  8. 去除input框的值

    onfocus="this.value=' ';" <input type="text" name="buynum" id=" ...

  9. js中变量的声明

    大家都知道js中变量的声明是要提前的,下面有4个样例: 1.if(!"t" in window){  var t = 1; }       alert(t);答案是undefine ...

  10. sql server t-sql脚本转成oracle plsql

    将一份SQL SERVER数据库生成的T-SQL脚本,转成ORACLE的PL/SQL,其复杂繁琐程度,远远出乎我的意料. 这份SQL SERVER脚本,里面有表,有视图,还有存储过程,以及一些自定义函 ...