Python程序高效地调试

现在我在debugpython程序就只是简单在有可能错误的地方print出来看一下,不知道python有没像c++的一些IDE一样有单步调试这类的工具?或者说各位python大神一般是怎么debug

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

现在我在debug python程序就只是简单在有可能错误的地方print出来看一下,不知道python有没像c++的一些IDE一样有单步调试这类的工具?或者说各位python大神一般是怎么debug自己的python程序的?

 

应该用过 IPython 吧?想象一下,抛出异常时自动把你带到 IPython Shell 是不是很开心?而且和普通的IPython不同,这个时候可以调用 p (print), up(up stack), down(down stack) 之类的命令。还能创建临时变量,执行任意函数。

事实上这是可以实现的, 而且很简单,不过你要先安装 IPython。然后把以下代码保存为 `crash_on_ipy.py`

import sys

class ExceptionHook:
    instance = None

    def __call__(self, *args, **kwargs):
        if self.instance is None:
            from IPython.core import ultratb
            self.instance = ultratb.FormattedTB(mode='Plain',
                 color_scheme='Linux', call_pdb=1)
        return self.instance(*args, **kwargs)

sys.excepthook = ExceptionHook()
#何问起 hovertree.com

然后在你的项目代码某个地方 import crash_on_ipy 就可以了。

Python程序高效地调试

这个方法不需要 IDE.

推荐:
http://www.cnblogs.com/roucheng/p/pythonstring.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120310.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • golang 设置代理

    golang 设置代理goenv-wGOPROXY=https://goproxy.cn,direct阿里云配置如下:exportGOPROXY=https://mirrors.aliyun.com/gopro

    2022年7月1日
    26
  • 等价类划分法-案例剖析-设计测试用例「建议收藏」

    等价类划分法-案例剖析-设计测试用例「建议收藏」目录等价类划分法概念有效等价类和无效等价类等价类设计测试用例步骤案例1案例2案例3等价类划分法概念等价类划分法是把所有可能的输入数据,即程序的输入数据集合划分成若干个子集即等价类,然后从每个等价类中选取少量具有代表性的数据作为测试用例。有效等价类和无效等价类有效等价类:只完全满足产品规则说明的输入数据,即有效的、有意义的输入数据的集合。利用有效等价类可以检验程序是否满足规则说明所规定的功能性要求。无效等价类:不满足程序输入要求或者无效的…

    2022年10月10日
    3
  • pytest报错_eclipse提交代码到git

    pytest报错_eclipse提交代码到git前言我们每天写完自动化用例后都会提交到git仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交git仓库的用例。pytest-picked插件可以

    2022年7月28日
    5
  • Unity3d菜鸟入门的学习路线–笔记1

    Unity3d菜鸟入门的学习路线–笔记1最近刚刚开始接触unity3d,因此想把自己的学习路线记录下来,方便自己以后总结。由于毕业论文的关系,需要使用Unity3D开发,做虚拟现实的应用,使用的设备是HTCvivepro产品。初始学习,由于没有基础,因此一团乱,总结一下目前看过的教程和书籍。1、开始看的是b站上极客学院讲解的unity3d的入门课程,对操作的界面有了初步的了解,不需要看完,看到编程之前就可以。2、由于需要使用C#编程…

    2022年9月13日
    4
  • N的阶乘(大数阶乘算法)

    N的阶乘(大数阶乘算法)题目描述输入一个正整数N,输出N的阶乘。输入描述:正整数N(0<=N<=1000)输出描述:输入可能包括多组数据,对于每一组输入数据,输出N的阶乘输入例子:4515输出例子:241201307674368000#include<iostream>#include<cstring>usingnames…

    2022年7月24日
    8
  • eclipse从svn下载项目_eclipse配置

    eclipse从svn下载项目_eclipse配置第一步:从svn导出,导出时导出为Java项目第二步:将Java项目转换为maven项目第三步:删除eclipse中刚刚新建的Java项目(不要删除本地源码)第四步:新建maven项目,选择刚刚转换的maven项目第五步:maven项目已经成功转换了,查看该项目的jdk以及库

    2022年10月9日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号