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爬虫入门教程--优雅的HTTP库requests(二)
May 25 Python
Python 通过URL打开图片实例详解
Jun 01 Python
python表格存取的方法
Mar 07 Python
解决Spyder中图片显示太小的问题
Apr 27 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
pandas读取csv文件,分隔符参数sep的实例
Dec 12 Python
python pandas cumsum求累计次数的用法
Jul 29 Python
Python学习笔记之错误和异常及访问错误消息详解
Aug 08 Python
在pycharm中实现删除bookmark
Feb 14 Python
pytorch 限制GPU使用效率详解(计算效率)
Jun 27 Python
使用python实现下载我们想听的歌曲,速度超快
Jul 09 Python
Python 高效编程技巧分享
Sep 10 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 fckeditor 调用的函数
2009/06/21 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
php链式操作的实现方式分析
2019/08/12 PHP
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
javascript动态的改变IFrame的高度实现自动伸展
2013/10/12 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
angular2+node.js express打包部署的实战
2017/07/27 Javascript
微信小程序picker组件简单用法示例【附demo源码下载】
2017/12/05 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
Python实现发送email的几种常用方法
2014/08/18 Python
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
大一自我鉴定范文
2013/12/27 职场文书
药剂专业求职信
2014/06/20 职场文书
特此通知格式
2015/04/27 职场文书
2015年重阳节主持词
2015/07/04 职场文书
协议书格式模板
2016/03/24 职场文书
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫
Python时间操作之pytz模块使用详解
2022/06/14 Python