Ipython的 Debug 函数
博客专区 > BaiLiang 的博客 > 博客详情
Ipython的 Debug 函数
BaiLiang 发表于4年前
Ipython的 Debug 函数
  • 发表于 4年前
  • 阅读 1085
  • 收藏 5
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

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

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)如

  可以通过设置一个自定义的函数

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

  实现 debug(oauth) 的效果

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启动前运行。
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 5
博文 16
码字总数 6995
×
BaiLiang
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: