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实现Tab自动补全和历史命令管理的方法
Mar 12 Python
Python抽象和自定义类定义与用法示例
Aug 23 Python
python实现定时发送qq消息
Jan 18 Python
在django-xadmin中APScheduler的启动初始化实例
Nov 15 Python
python使用opencv在Windows下调用摄像头实现解析
Nov 26 Python
基于python判断目录或者文件代码实例
Nov 29 Python
django实现日志按日期分割
May 21 Python
Python如何发送与接收大型数组
Aug 07 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
pytorch 一行代码查看网络参数总量的实现
May 12 Python
python 实现图与图之间的间距调整subplots_adjust
May 21 Python
python实现对doc、txt、xls等文档的读写操作
Apr 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
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
javascript的几种写法总结
2016/09/30 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
python实现的自动发送消息功能详解
2019/08/15 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
python实现画循环圆
2019/11/23 Python
python目标检测给图画框,bbox画到图上并保存案例
2020/03/10 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
2020/09/05 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
公司财务自我评价分享
2013/12/17 职场文书
2014年3.15团委活动总结
2014/03/16 职场文书
贸易跟单员英文求职信
2014/04/19 职场文书
校庆口号
2014/06/20 职场文书
应届生求职自荐信
2014/07/04 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python