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基础教程之基本内置数据类型介绍
Feb 20 Python
Python Trie树实现字典排序
Mar 28 Python
Python3访问并下载网页内容的方法
Jul 28 Python
python编写暴力破解zip文档程序的实例讲解
Apr 24 Python
Django中使用 Closure Table 储存无限分级数据
Jun 06 Python
python五子棋游戏的设计与实现
Jun 18 Python
python RC4加密操作示例【测试可用】
Sep 26 Python
python3.7 openpyxl 删除指定一列或者一行的代码
Oct 08 Python
Python插入Elasticsearch操作方法解析
Jan 19 Python
scrapy redis配置文件setting参数详解
Nov 18 Python
如何创建一个Flask项目并进行简单配置
Nov 18 Python
python热力图实现简单方法
Jan 29 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
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
PHP CKEditor 上传图片实现代码
2009/11/06 PHP
PHP5.3新特性小结
2016/02/14 PHP
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
python根据距离和时长计算配速示例
2014/02/16 Python
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
python基于twisted框架编写简单聊天室
2018/01/02 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
Python代码太长换行的实现
2019/07/05 Python
Python解析json代码实例解析
2019/11/25 Python
详解Python的三种拷贝方式
2020/02/11 Python
Python多线程thread及模块使用实例
2020/04/28 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
python字典key不能是可以是啥类型
2020/08/04 Python
python excel和yaml文件的读取封装
2021/01/12 Python
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
HUGO BOSS美国官方网上商店:世界知名奢侈品牌
2017/08/04 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
《桃花心木》教学反思
2014/02/17 职场文书
公安交警个人对照检查材料思想汇报
2014/10/01 职场文书
商铺门面租房协议书
2014/10/21 职场文书
安全先进班组材料
2014/12/26 职场文书
导游词之无锡梅园
2019/11/28 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS