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 字典(Dictionary)操作详解
Mar 11 Python
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
Nov 05 Python
python版本坑:md5例子(python2与python3中md5区别)
Jun 20 Python
Python Socket使用实例
Dec 18 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
Jan 16 Python
python: 判断tuple、list、dict是否为空的方法
Oct 22 Python
django模板加载静态文件的方法步骤
Mar 01 Python
Python实现的爬取小说爬虫功能示例
Mar 30 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
Python求凸包及多边形面积教程
Apr 12 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 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
通过PHP current函数获取未知字符键名数组第一个元素的值
2013/06/24 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
Jquery中对数组的操作代码
2011/08/12 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
详解JavaScript 异步编程
2020/07/13 Javascript
vue实现的多页面项目如何优化打包的步骤详解
2020/07/19 Javascript
Python3.6简单反射操作示例
2018/06/14 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
德国自然时尚和有机产品购物网站:Waschbär
2019/05/29 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
汽车检测与维修专业求职信
2013/10/30 职场文书
中学生自我鉴定
2014/02/04 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
授权委托书协议书
2014/10/16 职场文书
地道战观后感400字
2015/06/04 职场文书
钱学森电影观后感
2015/06/04 职场文书
网吧温馨提示
2015/07/17 职场文书
关于践行三严三实的心得体会
2016/01/05 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL