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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java程序设计(基础)- 方法「建议收藏」

    Java程序设计(基础)- 方法「建议收藏」Java程序设计(基础)- 方法

    2022年4月22日
    45
  • 微信小程序提交订单支付

    微信小程序提交订单支付主要是前端支付的几个部分**1.首先我们需要登录**通过wx.login这个api获取到code值,获取到code值后,我们请求登录的url并且把获取到的code拼接到url上,后台接收code值,登录成功后,返回openid,然后我们把获取到的openid存取到app.globalData里面2.我们支付点击按钮自己定义了一个方法pay()在方法里获取存在app.globalData里的openid然后通过支付的接口把openid传到后台返回参数res然后我们请求wx.request

    2022年6月3日
    69
  • URI和URL的区别比较与理解[通俗易懂]

    URI和URL的区别比较与理解[通俗易懂]一、URI<1>什么是URIURI,通一资源标志符(UniformResourceIdentifier,URI),表示的是web上每一种可用的资源,如HTML文档、图像、视频片段、程序等都由一个URI进行定位的。<2>URI的结构组成URI通常由三部分组成:①访问资源的命名机制;②存放资源的主机名;③资源自身的名称。<3>…

    2022年7月27日
    4
  • Thread 的join方法解释

    Thread 的join方法解释  一、作用  Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行执行。具体看代码:  publicclassJoinTest{publicstaticvoidmain(String[]args)throwsInterruptedException{ThreadJoinTestt1=newTh…

    2022年5月1日
    53
  • Java基础面试题(2022最新版汇总)[通俗易懂]

    史上最全、最新、最详细的Java基础面试题汇总

    2022年4月8日
    66
  • window 下蓝牙开发[通俗易懂]

    window 下蓝牙开发[通俗易懂]window蓝牙开发资料真的是比较少,而且功能比较单一。使用window自带的蓝牙重连接真的是太慢了。找不到好的解决方法,很让人头痛呀!下面提供的这点代码,也只是一个简单的功能,有这方面研究的朋友,希望能多多交流,多多指教ULONGLONGg_ulRemoteAddr=0;WCHARstrGUID[]=L”00001101-0000-1000-8000-00805f9b34fb”;

    2025年6月29日
    2

发表回复

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

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