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


相关推荐

  • 常见电子元器件的常用品牌汇总

    ​抽时间汇总了一些常见电子元器件常用品牌,大家在元器件选型时可以参考。电阻:Yageo国巨、Uniohm厚声、Walsin华新科、Fenghua风华、Ralec旺诠、KOA兴亚、Panasonic松下、AVX、Rohm罗姆、Samsung三星、TDK、TMTEC泰铭、Kyocera京瓷、PHYCOM飞元。电容:Yageo国巨、Samsung三星、Eyang宇阳、Murata村田、Taiyo太诱、Fenghua风华、Kyocera京瓷、HEC禾伸堂、Kemet基美、ISND华信安、AVX、TDK、Nich

    2022年4月4日
    81
  • pytest的assert_java断言assert

    pytest的assert_java断言assert前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

    2022年7月30日
    6
  • 不招女人喜欢的男人15个细节

    不招女人喜欢的男人15个细节我喜欢成熟型的,我喜欢阳光型的,我喜欢温柔体贴的,身边的朋友诉说着自己的择偶要求,对于将来的另一半,总是充满着幻想,充满着期待,可是很多细节问题,女的很注意,哪怕,另一半属于这个类型,因为细节问题,也不会选择他作为,托付终身的选择。一:啰嗦一天到晚,听着他唠叨,把一件事情,从早晨念到晚上,虽然知道他是为自己好,可是不能忍受,自己的老公那么鸡婆,和一个女的一样…

    2022年7月25日
    12
  • 字节流、字符流

    字节流、字符流

    2021年5月19日
    112
  • 【知识点】贴片电阻电容命名和封装「建议收藏」

    【知识点】贴片电阻电容命名和封装「建议收藏」常见的标准零件件主要有以下几种:电阻(R)、排阻(RA或RN)、电感(L)、陶瓷电容(C)、排容(CP)、钽质电容(C)、二极管(D)、晶体管(Q)。一、零件规格:零件规格即零件的外形尺寸,SMT(表面封装技术)发展至今,业界已经形成了一个标准零件系列,各家零件供货商皆是按这一标准制造。标准零件之尺寸规格有英制与公制两种表示方法,参照下面的常见贴片电阻尺寸表(1inch=25.4mm=

    2022年8月21日
    10
  • pandas 处理缺失值[dropna、drop、fillna][通俗易懂]

    pandas 处理缺失值[dropna、drop、fillna][通俗易懂]面对缺失值三种处理方法:option1:去掉含有缺失值的样本(行)option2:将含有缺失值的列(特征向量)去掉option3:将缺失值用某些值填充(0,平均值,中值等)对于dropna和fillna,dataframe和series都有,在这主要讲datafame的对于option1:使用DataFrame.dropna(axis=0,how=’any’,thres…

    2022年9月18日
    0

发表回复

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

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