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元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 Python
python xlsxwriter库生成图表的应用示例
Mar 16 Python
Python批量发送post请求的实现代码
May 05 Python
Python实现修改IE注册表功能示例
May 10 Python
python 列表降维的实例讲解
Jun 28 Python
Python http接口自动化测试框架实现方法示例
Dec 06 Python
python实现宿舍管理系统
Nov 22 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
Dec 14 Python
关于Python错误重试方法总结
Jan 03 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
Jan 08 Python
pip install命令安装扩展库整理
Mar 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
使用Composer安装Yii框架的方法
2016/03/15 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
Angular中ng-options下拉数据默认值的设定方法
2017/06/21 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
浅谈Angular路由守卫
2017/08/26 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
详解Python中where()函数的用法
2018/03/27 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
python爬取网页转换为PDF文件
2018/06/07 Python
python匿名函数用法实例分析
2019/08/03 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
WWE美国职业摔角官方商店:WWE Shop
2018/11/15 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
opencv实现图像平移效果
2021/03/24 Python
甜点店创业计划书
2014/01/27 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
人事局接收函
2015/01/30 职场文书
安全第一课观后感
2015/06/18 职场文书
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android