Ipython的 Debug 函数

  一直以来,很喜欢方便而强大的ipython调试python,但始终没有机会仔细看高版本的手册,今天偶然在这里 看到一个调试单独函数的小技巧,顺便浏览了下ipython主站的文档,记录以下。   一般我有个函数要调试,我会在想要的位置插入一个 ipdb的断点。python

def oauth():
    '''
        测试 oauth 功能
    '''

    import ipdb; ipdb.set_trace()
    
    appid = u"abc"
    r_url = u"http://www.baidu.com/"
    scope = u"snsapi_base"
    url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s'
    'APPID&redirect_uri=%s&response_type=code&scope=%s&'
    'state=STATE#wechat_redirect' % (appid, r_url, scope)如

  能够经过设置一个自定义的函数api

def debug(f, *args, **kwargs):  
    from IPython.core.debugger import Pdb  
    pdb = Pdb(color_scheme='Linux')  
    return pdb.runcall(f, *args, **kwargs)

  实现 debug(oauth) 的效果app

1.创建一个py文件

$cd `ipython locate profile`/startup/

创建一个tool.py文件,内容以下:函数

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

def set_trace():
    from IPython.core.debugger import Pdb
    Pdb(color_scheme='Linux').set_trace(sys._getframe().f_back)

def debug(f, *args, **kwargs):
    from IPython.core.debugger import Pdb
    pdb = Pdb(color_scheme='Linux')
    return pdb.runcall(f, *args, **kwargs)

简单解释一下测试

  • ipython locate profile 命令可以返回 ipython 的配置目录
  • 其下的startup目录下的文件会在 ipython启动前运行。
相关文章
相关标签/搜索