python3.7调试的实例方法


Posted in Python onJuly 21, 2020

 PyCharm IDE 窗口布局

python3.7调试的实例方法

PyCharm 调试代码实例(这里我以自己的代码为例)

__author__ = 'lxm' 
#!/usr/bin/python
 import thread
 import time
 # Define a function for the thread
 def print_time( threadName, delay):    
    count = 0   
    while count <  5:       
    count += 1        
    print "%s: %s" % ( threadName, time.ctime(time.time()) ) 
def check_sum(threadName,valueA,valueB):    
    print "to calculate the sum of two number her"    
    result=sum(valueA,valueB)    
    print "the result is" ,result;
 def sum(valueA,valueB):   
    if valueA >0 and valueB>0:        
    return valueA+valueB 
def readFile(threadName, filename):   
    file = open(filename)    
    for line in file.xreadlines():        
    print line 
try:    
    thread.start_new_thread( print_time, ("Thread-1", 2, ) )   
    thread.start_new_thread( check_sum, ("Thread-2", 4,5, ) )    
    thread.start_new_thread( readFile, ("Thread-3","test.txt",)) 
except:    
    print "Error: unable to start thread"
 while 1:
 #   print "end"   
    pass

在调试之前通常需要设置断点,断点可以设置在循环或者条件判断的表达式处或者程序的关键点。设置断点的方法非常简单:在代码编辑框中将光标移动到需要设置断点的行,然后直接按 Ctrl+F8 或者选择菜单"Run"->"Toggle Line Break Point",更为直接的方法是双击代码编辑处左侧边缘,可以看到出现红色的小圆点。当调试开始的时候,当前正在执行的代码会直接显示为蓝色。下图中设置了三个断点,蓝色高亮显示的为正在执行的代码。

断点设置

表达式求值:在调试过程中有的时候需要追踪一些表达式的值来发现程序中的问题,Pycharm 支持表达式求值,可以通过选中该表达式,然后选择“Run”->”Evaluate Expression”,在出现的窗口中直接选择 Evaluate 便可以查看。

Pycharm同时提供了 Variables 和 Watches 窗口,其中调试步骤中所涉及的具体变量的值可以直接在 variable 一栏中查看。

变量查看

如果要动态的监测某个变量可以直接选中该变量并选择菜单”Run”->”Add Watch”添加到 watches 栏中。当调试进行到该变量所在的语句时,在该窗口中可以直接看到该变量的具体值。

知识点扩展:

对于 python 代码的调试我们通常都是使用 IDE 自带的调试功能。但是 IDE 提供的调试功能存在局限性,例如在测试服务器上调试代码,但是又不可能在测试服务器上安装 IDE 进行调试。这时我们就可以利用下面所讲解的三个工具进行调试。

零、准备调试代码

在讲解三个调试工具前,我们先编写待调试的代码。代码很简单,就是计算两个数的商。我们在编写代码的时候故意留下了除数为 0 的 bug。

def division(start, end):
 for i in range(start, end, -1):
  num1 = i
  num2 = i - 1
  result = num1 / num2
  print(result)


if __name__ == '__main__':
 division(10, 0)

到此这篇关于python3.7调试的实例方法的文章就介绍到这了,更多相关python3.7怎么调试内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
利用 python 对目录下的文件进行过滤删除
Dec 27 Python
python如何实现内容写在图片上
Mar 23 Python
Python实现提取XML内容并保存到Excel中的方法
Sep 01 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
Dec 05 Python
Python实现繁体中文与简体中文相互转换的方法示例
Dec 18 Python
python random从集合中随机选择元素的方法
Jan 23 Python
Python从文件中读取数据的方法讲解
Feb 14 Python
python使用百度文字识别功能方法详解
Jul 23 Python
Python流程控制 if else实现解析
Sep 02 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
python raise的基本使用
Sep 10 Python
Python中super().__init__()测试以及理解
Dec 06 Python
python如何快速生成时间戳
Jul 21 #Python
OpenCV Python实现图像指定区域裁剪
Mar 12 #Python
openCV提取图像中的矩形区域
Jul 21 #Python
Python文件夹批处理操作代码实例
Jul 21 #Python
Python常用库Numpy进行矩阵运算详解
Jul 21 #Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 #Python
Pandas的Apply函数具体使用
Jul 21 #Python
You might like
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
2007/08/19 PHP
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
详解vuex状态管理模式
2018/11/01 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
编程语言Python的发展史
2014/09/26 Python
Python中的迭代器漫谈
2015/02/03 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python数据结构之链表详解
2017/09/12 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
python数字类型math库原理解析
2020/03/02 Python
让Django的BooleanField支持字符串形式的输入方式
2020/05/20 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
服务理念口号
2014/06/11 职场文书
2014年终工作总结范本
2014/12/15 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
生产设备维护保养制度
2015/08/06 职场文书
python 命令行传参方法总结
2021/05/25 Python
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技