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 字符串中的字符倒转
Sep 06 Python
python中MySQLdb模块用法实例
Nov 10 Python
Python程序中使用SQLAlchemy时出现乱码的解决方案
Apr 24 Python
整理Python 常用string函数(收藏)
May 30 Python
Python排序算法之选择排序定义与用法示例
Apr 29 Python
python实现淘宝秒杀脚本
Jun 23 Python
PyQt QCombobox设置行高的方法
Jun 20 Python
Python中一个for循环循环多个变量的示例
Jul 16 Python
python 命令行传入参数实现解析
Aug 30 Python
TensorFlow内存管理bfc算法实例
Feb 03 Python
在python中修改.properties文件的操作
Apr 08 Python
如何基于python把文字图片写入word文档
Jul 31 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
adodb与adodb_lite之比较
2006/12/31 PHP
php之对抗Web扫描器的脚本技巧
2008/10/01 PHP
基于simple_html_dom的使用小结
2013/07/01 PHP
php从字符串创建函数的方法
2015/03/16 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
php防止用户重复提交表单
2015/11/02 PHP
php实现文件预览功能
2017/05/23 PHP
JavaScript数组常用方法
2015/03/02 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
js tab栏切换代码实例解析
2019/09/03 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
Apache如何部署django项目
2017/05/21 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
python画图的函数用法以及技巧
2019/06/28 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
美国最大的团购网站:Groupon
2016/07/23 全球购物
日本无添加化妆品:HABA
2016/08/18 全球购物
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
高考寄语大全
2014/04/08 职场文书
加油口号大全
2014/06/13 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
解析laravel使用workerman用户交互、服务器交互
2021/04/28 PHP
详解python网络进程
2021/06/15 Python