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使用函数默认值实现函数静态变量的方法
Aug 18 Python
Python获取电脑硬件信息及状态的实现方法
Aug 29 Python
python通过apply使用元祖和列表调用函数实例
May 26 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
pandas数据预处理之dataframe的groupby操作方法
Apr 13 Python
python 对key为时间的dict排序方法
Oct 17 Python
python遍历文件夹找出文件夹后缀为py的文件方法
Oct 21 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
Mar 18 Python
Python中关于logging模块的学习笔记
Jun 03 Python
python 如何利用argparse解析命令行参数
Sep 11 Python
详细总结Python常见的安全问题
May 21 Python
python数据可视化使用pyfinance分析证券收益示例详解
Nov 20 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
10个可以简化php开发过程的MySQL工具
2010/04/11 PHP
PHP错误机制知识汇总
2016/03/24 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
script标签的 charset 属性使用说明
2010/12/04 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
Javascript中数组方法汇总(推荐)
2015/04/01 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
requests和lxml实现爬虫的方法
2017/06/11 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
Python反转序列的方法实例分析
2018/03/21 Python
Python中文编码知识点
2019/02/18 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
关于Assembly命名空间的三个面试题
2015/07/23 面试题
质检员的岗位职责
2013/11/15 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
十佳文明家庭事迹
2014/05/25 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
​(迎国庆)作文之我爱我的祖国
2019/09/19 职场文书
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android
Pandas 数据编码的十种方法
2022/04/20 Python