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 相关文章推荐
python33 urllib2使用方法细节讲解
Dec 03 Python
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
使用Python的Twisted框架实现一个简单的服务器
Apr 16 Python
利用Python查看目录中的文件示例详解
Aug 28 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 Python
python psutil模块使用方法解析
Aug 01 Python
Django继承自带user表并重写的例子
Nov 18 Python
完美解决pycharm导入自己写的py文件爆红问题
Feb 12 Python
TensorBoard 计算图的可视化实现
Feb 15 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
Python开发简易五子棋小游戏
May 02 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 远程关机实现代码
2009/11/10 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
PHP也能干大事 随机函数
2015/04/14 PHP
php获取系统变量方法小结
2015/05/29 PHP
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
两种方法解决javascript url post 特殊字符转义 + &amp; #
2016/04/13 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
vue-cli 引入、配置axios的方法
2018/05/08 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
python实现简单神经网络算法
2018/03/10 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
Python imread、newaxis用法详解
2019/11/04 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
CSS3实现文字描边的2种方法(小结)
2020/02/14 HTML / CSS
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
比较一下entity bean和session bean
2013/12/27 面试题
三分钟自我介绍演讲稿
2014/08/21 职场文书
常住证明范本
2015/06/23 职场文书
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers