调试和分析在Python开发中发挥着重要作用。 调试器可帮助程序员分析完整的代码。 调试器设置断点,而剖析器运行我们的代码,并给我们执行时间的详细信息。 分析器将识别程序中的瓶颈。我们将了解pdb Python调试器,cProfile模块和timeit模块来计算Python代码的执行时间。

涉及内容:

  • Python调试技术
  • 错误处理(异常处理)
  • 调试工具
  • 调试基本程序崩溃
  • 分析和计时程序
  • 使程序运行得更快

debugging

调试是解决代码中出现阻止软件正常运行问题的过程。

Python调试器设置条件断点并可一次调试一行源代码。我们将使用Python标准库中的pdb模块调试我们的Python脚本。

参考资料:887934385 加群免费获取

Python调试技术

  • print()语句。
  • logging:这类似于print语句,但具有更多上下文信息。
  • pdb调试器:常用的调试技术。在解释器和程序内从命令行使用pdb。
  • IDE调试器:IDE具有集成调试器。它允许开发人员执行他们的代码,然后开发人员可以在程序执行时进行检查。比如windide中的调试菜单:
class Student:def __init__(self, std):self.count = stddef print_std(self):for i in range(self.count):print(i)return
if __name__ == '__main__':Student(5).print_std()

以此脚本为例学习Python调试,我们将看到如何详细启动调试器。

  • 交互式执行
$ python3
Python 3.6.7 |Anaconda, Inc.| (default, Oct 23 2018, 19:16:44)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pdb_example
>>> import pdb
>>> pdb.run('pdb_example.Student(5).print_std()')
> <string>(1)<module>()
(Pdb)
EOF        b          cl         cont       disable    exit       interact   list       next       quit       retval     source     unalias    up
a          break      clear      continue   display    h          j          ll         p          r          run        step       undisplay  w
alias      bt         commands   d          down       help       jump       longlist   pp         restart    rv         tbreak     unt        whatis
args       c          condition  debug      enable     ignore     l          n          q          return     s          u          until      where
(Pdb) continue
0
1
2
3
4

要继续调试,请在 ( Pdb )提示符后输入continue,然后按Enter键。如果你想知道我们可以在这里使用的选项,那么在 ( Pdb )提示后按两次Tab键。注意windows下按键可能会无效。

  • 交互式加载pdb模块
$ python3 -m pdb pdb_example.py
> /home/andrew/code/meil/code/Mastering-Python-Scripting-for-System-Administrators-/Chapter02/pdb_example.py(1)<module>()
-> class Student:
(Pdb) continue
0
1
2
3
4
The program finished and will be restarted

  • 脚本中开启调试

执行:

$ python3 pdb_example.py
> /home/andrew/code/meil/code/Mastering-Python-Scripting-for-System-Administrators-/Chapter02/pdb_example.py(10)print_std()
-> print(i)
(Pdb) continue
0
> /home/andrew/code/meil/code/Mastering-Python-Scripting-for-System-Administrators-/Chapter02/pdb_example.py(9)print_std()
-> pdb.set_trace()
(Pdb) continue
1
> /home/andrew/code/meil/code/Mastering-Python-Scripting-for-System-Administrators-/Chapter02/pdb_example.py(10)print_std()
-> print(i)
(Pdb) continue
2
...

以上便是本章技术讲解,还有什么问题没解决或者不定时发视频资料887934385

python游戏按键无效_瞬速掌握Python系统管理-调试和分析脚本1-debugging相关推荐

  1. python获取按键状态_谁在用 python 弹奏一曲菊花台

    转自:Crossin的编程教室 想必各位在家已经闲得快发疯了吧,鄙人现在的状态如下: 但是我不想这么萎靡下去,我想做点高雅的事情,看到朋友圈有人在手机app上弹<菊花台>,简直太好听了.于 ...

  2. python游戏开发步骤_【原创】python制作游戏脚本之网游寻址及64位程序的模块遍历(视频已安排)...

    本帖最后由 公孙秒秒 于 2019-4-2 18:11 编辑 前言 ------------------------------------------------- 这篇教程旨在网游的基址查找和如何 ...

  3. python游戏代码五子棋_用20行Python代码实现2048小游戏,你会吗?

    前些天在b站上看到有个大佬用c写了一个2048小游戏,我便一下来了兴趣.心想着,我貌似也能用Python来整一波,话不多说,直接开搞. 2048的游戏规则: 2048游戏总共有16个格子,初始时会有两 ...

  4. python 游戏按键精灵 PyDirectInput介绍

    前言: 在python关于按键精灵得操作中常用的有PyAutoGUI,但在使用的过程中,针对一些游戏就直接失灵了,特别是一些以DirectX来开发的游戏或软件.我通过收索相关资料了解到之所以会这样,是 ...

  5. python入门第一课_入门第一课 Python入门涉及的问题及简单示例

    很多初学者都在问:我想自学Python,该怎样入门?入门选择哪些书籍? 下面,我以自己的理解作出解答. 1.先说明大体的学习进度. Python确实入门较为容易,语法清晰易懂.一旦入了门再想提高就和其 ...

  6. python自动化数据报告_如何:使用Python将实时数据自动化到您的网站

    python自动化数据报告 This tutorial will be helpful for people who have a website that hosts live data on a ...

  7. 《Python游戏趣味编程》 第1章 Python与开发环境介绍

    图书简介可以参考这里: 童晶:<Python游戏趣味编程>新书上架了 要编写Python代码.让计算机读懂Python程序,我们需要安装Python集成开发环境.读者可以打开Python官 ...

  8. 《Python游戏编程入门》——1.2 初识Python

    本节书摘来自异步社区<Python游戏编程入门>一书中的第1章,第1.2节,作者[美]Jonathan S. Harbour ,李强 译,更多章节内容可以访问云栖社区"异步社区& ...

  9. 高考python必考题目_假如高考考python编程,这些题目你会几个呢?

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...

最新文章

  1. 经典面试题:在这个场景下,你怎么进行性能调优?
  2. 二.无显示器远程连接树莓派
  3. Spring-基于注解的配置[02自动装载bean]
  4. 线性规划与网络流24题 负载平衡问题
  5. 《怎样成为一个高手》观后感
  6. 将二维列表输出到excel
  7. python批量合并csv_如何在Python中通过多个列合并两个CSV文件
  8. 技术宅的乐趣!网友编写出《流浪地球》“春节十二响”C语言源码
  9. MediaPlayer生命周期
  10. Java的break和continue关键字
  11. 迈信EP100伺服驱动器方案
  12. 开发者API资源(接口整理)
  13. 【读书摘记】《黄金时代》 -王小波
  14. oracle中datedif函数,Datedif函数全面解析和BUG分析
  15. 隔壁老王都知道的JavaScript+mysql+HTML+CSS的客户管理系统设计和实现【建议收藏,不然看着看着就不见了】
  16. phpspreadsheet文件下载
  17. 牛客假日团队赛6 F:Mud Puddles
  18. 了解KVM切换器的四种类形
  19. unittest跳过用例方式
  20. 检查给定串是否存在于由区间及点集的结合内

热门文章

  1. 程序员,活得是本事:30 岁后的 20 条人生建议
  2. 字节跳动自研重度游戏;中国移动前董事长谈飞信失败;Linux 5.3-rc3 发布 | 极客头条...
  3. 社交界的 Linux,为何败给了 Facebook、Twitter?
  4. 苹果:失了 5G 会何妨?
  5. 阿里布局物联网!开源操作系统 AliOS Things 喜提 1 亿芯片出货量
  6. 滴滴 App 强制调取用户通讯录;子弹短信仍能泄露信息;特朗普炮轰谷歌 | 极客头条...
  7. 微信公开课讲师李卿:小游戏开放 100 天
  8. 如何从技术上成功预测比特币价格?
  9. 滴滴悬赏100万“捉拿”司机;手机QQ又宕机;中兴手机或将出售 | CSDN 极客头条...
  10. java程序员需要掌握的知识,看完直接跪服