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模块学习 datetime介绍
Aug 27 Python
Python序列之list和tuple常用方法以及注意事项
Jan 09 Python
python常规方法实现数组的全排列
Mar 17 Python
Python基于Tkinter的HelloWorld入门实例
Jun 17 Python
python 字典(dict)按键和值排序
Jun 28 Python
python 通过logging写入日志到文件和控制台的实例
Apr 28 Python
在pycharm上mongodb配置及可视化设置方法
Nov 30 Python
python安装scipy的方法步骤
Jun 26 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
用Python画小女孩放风筝的示例
Nov 23 Python
解决pip install psycopg2出错问题
Jul 09 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
Dec 10 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-fpm的两种进程管理模式详解
2013/06/03 PHP
php短址转换实现方法
2015/02/25 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
PHP的PDO预定义常量讲解
2019/01/24 PHP
php接口隔离原则实例分析
2019/11/11 PHP
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
Django如何将URL映射到视图
2019/07/29 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
大学生求职中的自我评价
2013/10/01 职场文书
成教毕业生自我鉴定
2013/10/23 职场文书
简历自我评价怎么写呢?
2014/01/06 职场文书
公司活动邀请函
2014/01/24 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
毕业晚会主持词
2014/03/24 职场文书
艺术节主持词
2014/04/02 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
Java后台生成图片的完整步骤
2021/08/04 Java/Android
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
Golang流模式之grpc的四种数据流
2022/04/13 Golang
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL