文档章节

Ipython的 Debug 函数

BaiLiang
 BaiLiang
发布于 2014/06/03 20:59
字数 280
阅读 1246
收藏 5

  一直以来,很喜欢方便而强大的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启动前运行。

© 著作权归作者所有

共有 人打赏支持
BaiLiang
粉丝 5
博文 17
码字总数 6995
作品 0
大庆
私信 提问
python交互式shell-ipython

  前言   在写Python的时候,有时候需要命令行来测试一段代码,这时候就会用到交互式的shell。直接输入python就可以进入默认的shell,但是都没有提示,用起来不是很爽。这时候就可以用上...

linux运维菜
2018/11/25
0
0
python学习-ipython和pyenv

一、ipython ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。学习ipython将会让我们以...

羊草
2018/08/01
0
0
jupyter notebook :一个交互式计算和开发环境

一、 IPython基础 代码自动补全:Tab键 可补全内容包括:变量名、函数名、成员变量函数、目录文件 内省(Itrospection) 在变量名之前或之后加上问号(),这样可以显示这个对象的相关信息。 如果...

xinet
2017/08/15
0
0
Make IPython work with virturalenv

IPython是非常方便的交互式python环境,但默认不能识别virturalenv. 解决方案很简单: 写一个配置脚本让IPython识别virtualenv,将virtualenv的包放到sys.path中 import sitefrom os import ...

fanzc
2012/09/13
0
0
IPython Notebook 简介

在 IPython 的官网(ipython.org)上,介绍其的第一句话便是:IPython 是一个加强版的交互式 Shell。另外很多介绍 IPython 的文章也常以这句话开头,但这句话实在是等于没说。让 IPython 在各...

lionets
2014/06/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊flink的Async I/O

序 本文主要研究一下flink的Async I/O 实例 // This example implements the asynchronous request and callback with Futures that have the// interface of Java 8's futures (which is t......

go4it
15分钟前
0
0
一文详解微服务架构的数据设计

微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微服务这些方面。 本文将从以下几个角度来和大家分享在微服务架构下进行数据设计需要关注的地方,旨在帮...

java菜分享
26分钟前
2
0
Java并发编程之美读书笔记-并发编程基础1

线程 进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,比如idea运行代码时的jvm是一个进程,但是CPU资源比较特殊,它是被分配到线程的,线程是进程的一个执行路...

hensemlee
38分钟前
1
0
【剑指offer纪念版】--10 进制1的个数

10. 题目 题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2。 解题思路   把一个整数减去1,再和原整...

细节探索者
53分钟前
2
0
本科毕业平均年薪 30 万!经济寒冬挡不住 AI 人才的火热!

互联网行业遭遇寒冬,企业纷纷裁员缩招,而 BAT 和硅谷明星公司对 AI 人才的投入却并不见放缓。为争夺相关人才,给应届毕业生开出的平均年薪高达 30 万。 而 TensorFlow 作为当下最流行的深度...

AI女神
59分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部