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 EOL while scanning string literal问题解决方法
Sep 18 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
python字符串常用方法
Jun 14 Python
python使用tornado实现登录和登出
Jul 28 Python
python实现朴素贝叶斯算法
Nov 19 Python
python之mock模块基本使用方法详解
Jun 27 Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 Python
python kafka 多线程消费者&amp;手动提交实例
Dec 21 Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
Jun 30 Python
如何基于Python按行合并两个txt
Nov 03 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
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
2016/04/15 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
jQuery实现上传图片前预览效果功能
2017/08/03 jQuery
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
python使用turtle库绘制树
2018/06/25 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
在Django中预防CSRF攻击的操作
2020/03/13 Python
浅谈Python 参数与变量
2020/06/20 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
说出一些常用的类,包,接口
2014/09/22 面试题
办公自动化专业大学生职业规划书
2014/03/06 职场文书
建材投资建议书
2014/05/16 职场文书
JS 基本概念详细介绍
2021/10/16 Javascript
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript