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的自动化部署模块Fabric的安装及使用指南
Jan 19 Python
Python将图片批量从png格式转换至WebP格式
Aug 22 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
Python 3.7新功能之dataclass装饰器详解
Apr 21 Python
详解python中的Turtle函数库
Nov 19 Python
Python中collections模块的基本使用教程
Dec 07 Python
用Python解决x的n次方问题
Feb 08 Python
python在回调函数中获取返回值的方法
Feb 22 Python
python控制nao机器人身体动作实例详解
Apr 29 Python
java判断三位数的实例讲解
Jun 10 Python
浅谈Python 参数与变量
Jun 20 Python
Python 解析简单的XML数据
Jul 24 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
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
PHP生成器简单实例
2015/05/13 PHP
JS input 数字验证代码
2009/07/30 Javascript
jquery提升性能最佳实践小结
2010/12/06 Javascript
怎么清空javascript数组
2013/05/11 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
indexOf 和 lastIndexOf 使用示例介绍
2014/09/02 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
2015/04/30 Javascript
JS去除空格和换行的正则表达式(推荐)
2016/06/14 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
解决IE7中使用jQuery动态操作name问题
2017/08/28 jQuery
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
wxPython事件驱动实例详解
2014/09/28 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
django基于restframework的CBV封装详解
2019/08/08 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
巴基斯坦购物网站:Goto
2019/03/11 全球购物
党员学习十八大感想
2014/01/17 职场文书
招商专员岗位职责
2014/02/08 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
交通事故案件代理词
2015/05/23 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
市场营销计划书
2019/04/24 职场文书
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android