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提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 Python
Python调用命令行进度条的方法
May 05 Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 Python
Python实现二分查找与bisect模块详解
Jan 13 Python
Python学习教程之常用的内置函数大全
Jul 14 Python
Python实现的选择排序算法原理与用法实例分析
Nov 22 Python
python实现翻转棋游戏(othello)
Jul 29 Python
关于Python 常用获取元素 Driver 总结
Nov 24 Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 Python
使用Django清空数据库并重新生成
Apr 03 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
Jun 17 Python
python中xlrd模块的使用详解
Feb 01 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
PHP5中MVC结构学习
2006/10/09 PHP
数据库相关问题
2006/10/09 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
2016/12/21 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
js判断是否是手机页面
2017/03/17 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
关于express与koa的使用对比详解
2018/01/25 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
微信小程序如何使用canvas二维码保存至手机相册
2019/07/15 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
微信小程序实现多图上传
2020/06/19 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
python字符串连接的N种方式总结
2014/09/17 Python
python正则表达式面试题解答
2020/04/28 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
《改造我们的学习》心得体会
2014/11/07 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
python实现图片九宫格分割的示例
2021/04/25 Python
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python