文档章节

Ipython的 Debug 函数

BaiLiang
 BaiLiang
发布于 2014/06/03 20:59
字数 280
阅读 1373
收藏 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
132
0
IPython Notebook 简介

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

lionets
2014/06/06
25.9K
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— 当你简历注水但还是找到了工作

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌 :#今日歌曲推荐# 分享成龙的单曲《男儿当自强》。 《男儿当自强》- 成龙 手机党少年们想听歌,请使劲儿戳(这里) @hxg2016 :刚在...

小小编辑
今天
2.7K
22
靠写代码赚钱的一些门路

作者 @mezod 译者 @josephchang10 如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。 今天给大家分享一个精彩的 GitHub 库,这个库整理...

高级农民工
昨天
4
0
用好项目管理工具,人人都可以成为项目经理

现在市面上的项目管理工具越来越多了,但是大多数都是一些协同工具或轻量项目管理工具。如果是多团队、跨部门使用或者企业级的项目管理,从管理思想到工具运用,需要适应企业的业务流程体系,...

cs平台
昨天
12
0
只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
69
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部