点击上方蓝字,每天一起学 Python,文末领送书福利
Python 是一门非常受欢迎的编程语言,其灵活易用的特性使其在 web 应用、数据分析等方面有广泛的应用。但是 Python 有一个受到诟病的特点——运行速度低下。因此,Python 开发者需要经常对程序进行监控和调试,使代码运行变得高效。近日,一位开发者开源了一个 Python 工具,用户可以实时动态地监控 Python 程序的运行情况,逐行追踪代码的运行时间,而且整个过程是可视化的。项目地址:https://github.com/alexmojaki/heartrate 文 | 一鸣、杜伟@机器之心 推荐 | 编程派公众号(ID:codingpy) Heartrate 是一个 Python 的工具库,可以实时可视化 Python 程序的执行过程。监控运行中的 Python 程序如图:
虽然追踪每行代码的触发次数是一个方法,但是要是能计算每次触发代码的执行时间就好了。这样能够更好地说明哪行代码是效率瓶颈。by 思得益于 executing (https://github.com/alexmojaki/executing) 库,当前被执行的调用以高亮显示。 实时堆栈追踪(stacktrace)如下所示:
启动程序追踪
在线程中启动服务器
打开显示 trace() 被调用的文件可视化图的浏览器窗口
files.all:追踪所有文件;
files.path_contains(substrings):追踪路径中包含任何给定子字符串的所有文件;
files.contains_regex(pattern):追踪自身包含给定正则表达式(regex)的所有文件,所以用户可以在源代码中标记所追踪的文件,如添加注释。
在堆栈追踪中,用户点击正在追踪的堆栈条目,则可以打开页面并跳转至堆栈条目;
跳转至 http://localhost:9999/ 网站的索引页,从而查看追踪文件列表。
pip install --user heartrate
支持 Python 3.5 以上版本。 其他代码可视化工具 机器之心还发现了一个可以可视化代码执行过程的网站,名为 Pythontutor。和本文的 Heartrate 不同,该网站更多的是可视化数据在程序中的变化过程。 可视化的过程如下:# 文末送书活动 #
活动规则大家请一定要查看,点击这篇推文哦: 从今天起,每天至少送大家一本书 有人建议每期直接给推荐书,我觉得挺好的。这篇推文的福利赠书,暂时还是我自己翻译的《Python编程无师自通》(先累计送 3 本),送给本篇文章点赞最多的精选留言者。 书籍的详细介绍可以点击下面的链接查看。回复下方「关键词」,获取优质资源
回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「书单02」,立即获取主页君整理的 10 本 Python 入门书的电子版
回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~
推荐阅读
你有一份代码审查问题清单,请查收
电子书 | Python 爬虫技术升级必备
深度!Python 解析 XML 数据的正确姿势
O'Reilly又出了一本免费的新书!关于深度学习首选这一本
题图:pexels,CC0 授权。