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通过floor函数舍弃小数位的方法
Mar 17 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
Mar 30 Python
Python实现把数字转换成中文
Jun 29 Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 Python
Django中的文件的上传的几种方式
Jul 23 Python
python opencv实现旋转矩形框裁减功能
Jul 25 Python
让代码变得更易维护的7个Python库
Oct 09 Python
Python英文文本分词(无空格)模块wordninja的使用实例
Feb 20 Python
python实现音乐播放器 python实现花框音乐盒子
Feb 25 Python
python实现俄罗斯方块游戏(改进版)
Mar 13 Python
详解用Python爬虫获取百度企业信用中企业基本信息
Jul 02 Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
解决php表单重复提交实现方法
2015/09/29 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
PHP递归的三种常用方式
2019/02/28 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
学习YUI.Ext第七日-View&amp;JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
JS实现图片切换效果
2018/11/17 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
对Python中9种生成新对象的方法总结
2018/05/23 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
Python文件读写常见用法总结
2019/02/22 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
python selenium 获取接口数据的实现
2020/12/07 Python
python上下文管理器异常问题解决方法
2021/02/07 Python
小学毕业感言500字
2014/02/28 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
2015选调生工作总结
2015/07/24 职场文书
导游词之五台山
2019/10/11 职场文书
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server