python学习笔记之pdb调试
之前一直说要学python可还是一直停留在看的层面,昨天大神手把书教我pdb调试,说要摆脱IDE集成开发环境编程,感激不尽,立一个flag,python一定要入门!
1、进入方式
1)windows cmd下或者anaconda prompt下,cd 到count_pdf.py目录下
2)大神告诉还可以在count_pdf.py上按shift点击鼠标右键--在此处打开命令窗口
2、python count_pdf.py会直接得到输出结果,这个不用我多说。下面介绍如何一步步调试
python -m pdb count_pdf.py
进入pdb调试模式

介绍常用命令: c
continue,输入c然后回车,程序就跑完了。让程序正常运行,直到遇到断点。表示continue 和matlab里面的continue一样

n
next,一步步,用n是不会进入被调用的函数体中的

s
step,可进入函数中,跟n相似,但是如果当前有一个函数调用,那么s会进入被调用的函数体中
b 行号
break,设置断点


b
单独一个b,用于查看断点索引号

cl+空格+数字代表清除第N个断点
clear,如果后面带有参数,就是清除指定的断点;如果不带参数就是清除所有的断点。注意此时的数字不代表行数 代表你设置断点的断点索引号
cl后的代码显示时 前面的B没了

p 变量
print变量

l
list打印当前代码段

ll
打印所有代码段

3、整段代码的调试过程

它描述的过程就是
初始状态我代码运行到16行,
然后n下一行,
经过4个n然后到了count_pdf(os,path.join(path,p)),
然后我输入s
step in到了 变量os.path.join()函数里面
然后执行了一下r(return,执行代码直到当前函数返回)直接到了这个函数的末尾
return后我继续执行s
于是到了count_pdf(os,path.join(path,p))的外部函数count_pdf(),由于count_pdf()这个函数是我自己定义的并且在count_pdf.py文件里面,所以会转到当前py文件的第7行。
这就是执行过程。
再此感谢大神!!!嘿哈
python学习笔记之pdb调试的更多相关文章
- python学习笔记012——pdb调试
1 描述 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能, 主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等 调 ...
- [Python学习笔记]调试
编码占了编程工作量的90%,调试占了另外90%,这是一个流传着的笑话.调试在编程中占有很大的分量,即使专业的程序员也一直在制造缺陷. 抛出异常 抛出异常相当于是说:"停止运行这个函数中的代码 ...
- Python学习笔记(十三)
Python学习笔记(十三): 模块 包 if name == main 软件目录结构规范 作业-ATM+购物商城程序 1. 模块 1. 模块导入方法 import 语句 import module1 ...
- Deep learning with Python 学习笔记(4)
本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...
- 雨痕 的《Python学习笔记》--附脑图(转)
原文:http://www.pythoner.com/148.html 近日,在某微博上看到有人推荐了 雨痕 的<Python学习笔记>,从github上下载下来看了下,确实很不错. 注意 ...
- 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细
翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
随机推荐
- 只用120行Java代码写一个自己的区块链-4实现真正的p2p网络
在之前的文章中,我们模拟了节点网络通讯,很多朋友反馈说,他们想看真正的节点网络通讯而不是单节点的模拟.本章将满足你们.
- 【python】ipython与python的区别
[python]ipython与python的区别 (2014-06-05 12:27:40) 转载▼ 分类: Python http://mba.shengwushibie.com/itbook ...
- codeforces734E
题目连接:http://codeforces.com/contest/734/problem/E E. Anton and Tree time limit per test 3 seconds mem ...
- CF A.Mishka and Contest【双指针/模拟】
[链接]:CF/4892 [题意]: 一个人解决n个问题,这个问题的值比k小, 每次只能解决最左边的或者最右边的问题 解决了就消失了.问这个人能解决多少个问题. [代码]: #include<b ...
- HDU 1066 Last non-zero Digit in N!(数论,大数,wait)
The expression N!, read as "N factorial," denotes the product of the first N positive inte ...
- 洛谷——P1163 银行贷款
P1163 银行贷款 题目描述 当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款.这个问题要求计算出贷款者向银行支付的利率.假设利率按月累计. 输入输出格式 输入格式: 输入文 ...
- MySQL笔记之视图的使用详解
原文:http://www.jb51.net/article/36363.htm 1.什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表. 视图就像一个窗口,通过这个窗口可以看到系统专门 ...
- JDBC操作数据库的基本流程
所有的JDBC应用程序都具有下面的基本流程: 1.加载数据库驱动并建立到数据库的连接. 2.执行SQL语句. 3.处理结果. 4.从数据库断开连接释放资源. 下面我们就来仔细看一看每一个步骤: 其实按 ...
- Miller-Rabin与Pollard-Rho备忘
Miller-Rabin素性测试算法: 根据费马小定理当p为素数时成立,所以如果存在一个a使x不满足此定理,则x必然不为素数. 但这是充分条件而不是必要条件,所以对于每个a,可能存在满足定理的x,这时 ...
- POJ 2112 Optimal Milking(二分图匹配)
[题目链接] http://poj.org/problem?id=2112 [题目大意] 给出一些挤奶器,每台只能供给M头牛用,牛和挤奶器之间有一定的距离 现在要让每头牛都挤奶,同时最小化牛到挤奶器的 ...