python中调试或排错的五种方法示例


Posted in Python onSeptember 12, 2019

前言

本文主要给大家介绍了关于python中调试或排错的五种方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的的介绍吧

python调试或排错的五种方法

1、print,直接打印,比较简单而且粗暴

在代码中直接输入print+需要输出的结果,根据打印的内容判断即可

 2、assert断言,很方便,测试人员常常在写自动化用例的时候用的比较多

如下,直接将预期结果和实际结果做判断 

def true_code():
 x = 3
 y = 2
 z = x + y
 assert(5==z), "z不等于5"

def false_code():
 x = 3
 y = 3
 z = x + y
 assert(5==z), "z不等于5"

true_code()
false_code()

运行结果如下:

python中调试或排错的五种方法示例

3、pdb交互式源代码调试

常用命令:break或b  设置断点

   continue或c  继续执行程序,或跳到下个断点

    list或l  查看当前行的代码段

    step或s  进入函数

    return或r  执行代码知道从当前函数返回

       exit或q  中止并退出

       next或n  执行下一行

     p或!   打印变量的值例如a为变量,则输入p a

     help或h   帮助

在使用pdb时需要导入pdb库,然后在代码中需要的地方引入pdb代码片段,如下:

import pdb
 
 if __name__ == "__main__":
 a = 1
 pdb.set_trace() #创建pdb代码片段
 b = 2
 c = a + b
 print(c)

输入pdb命令,并且查看结果:

python中调试或排错的五种方法示例 

4、日志,定位问题记录程序运行情况

主要是引入logging库

logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为  debug(), info(), warning(), error() and critical()5个级别,根据需要选择不同的级别打印日志

5、IDE Debuger 图形界面便于数据查看,支持多线程调试,远程调试

主要是IDE中自带的debug调试

设置断点,运行时以debug模式运行,或这shift+F9运行

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python中的闭包实例详解
Aug 29 Python
深入浅析Python字符编码
Nov 12 Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 Python
python实现BackPropagation算法
Dec 14 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
Oct 31 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
Python面向对象之Web静态服务器
Sep 03 Python
python之yield和Generator深入解析
Sep 18 Python
将labelme格式数据转化为标准的coco数据集格式方式
Feb 17 Python
python 用Matplotlib作图中有多个Y轴
Nov 28 Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 Python
详解Python 中sys.stdin.readline()的用法
Sep 12 #Python
Python3将数据保存为txt文件的方法
Sep 12 #Python
Python3 tkinter 实现文件读取及保存功能
Sep 12 #Python
调试Django时打印SQL语句的日志代码实例
Sep 12 #Python
Python socket非阻塞模块应用示例
Sep 12 #Python
Python的条件锁与事件共享详解
Sep 12 #Python
Python的互斥锁与信号量详解
Sep 12 #Python
You might like
基于PHP array数组的教程详解
2013/06/05 PHP
Zend Framework教程之模型Model用法简单实例
2016/03/04 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
javascript编程起步(第二课)
2007/02/27 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
浅谈JavaScript之事件绑定
2013/07/08 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
python的几种开发工具介绍
2007/03/07 Python
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
解决新django中的path不能使用正则表达式的问题
2018/12/18 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
Python操作Excel的学习笔记
2021/02/18 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
飞利浦美国官网:Philips美国
2020/02/28 全球购物
澳大利亚Rockwear官网:女子瑜伽、健身和运动服
2021/01/26 全球购物
委托书怎么写
2014/07/31 职场文书
毕业横幅标语
2014/10/08 职场文书
校运会通讯稿
2015/07/18 职场文书
资产移交协议书
2016/03/24 职场文书
合作意向书范本
2019/04/17 职场文书
Pytorch 如何实现常用正则化
2021/05/27 Python
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python