点击上方蓝字,每天一起学 Python,文末领送书福利
Python 是一门非常受欢迎的编程语言,其灵活易用的特性使其在 web 应用、数据分析等方面有广泛的应用。但是 Python 有一个受到诟病的特点——运行速度低下。因此,Python 开发者需要经常对程序进行监控和调试,使代码运行变得高效。近日,一位开发者开源了一个 Python 工具,用户可以实时动态地监控 Python 程序的运行情况,逐行追踪代码的运行时间,而且整个过程是可视化的。
项目地址:https://github.com/alexmojaki/heartrateHeartrate 是一个 Python 的工具库,可以实时可视化 Python 程序的执行过程。监控运行中的 Python 程序如图:如图所示,左侧数字表示每行代码被触发的次数。长方框表示最近被触发的代码行——方框越长表示触发次数越多,颜色越浅表示最近被触发次数越多。
虽然追踪每行代码的触发次数是一个方法,但是要是能计算每次触发代码的执行时间就好了。这样能够更好地说明哪行代码是效率瓶颈。by 思
得益于 executing (https://github.com/alexmojaki/executing) 库,当前被执行的调用以高亮显示。
在文件视图中,堆栈追踪位于底部。而在堆栈追踪中,用户可以点击正在追踪文件的堆栈条目,从而在该代码行打开文件的可视化图。
trace 只追踪调用它的线程。若要追踪多线程,用户必须在每个线程都予以调用,并且每次的端口也不同。
files 确定了除调用的 trace 之外其他需要追踪的文件。files 必须是可调用的,并接受一个参数:文件路径,同时如果应该追踪该文件,则需要返回 True。为方便起见,这位开发者提供了以下函数:
默认情况下追踪包含注释 # heartrate 的文件(空格可选)。
如果用户要追踪多个文件,则可通过以下两种方式得到它们的可视化页面:
host:服务器的 HTTP host。若要运行可从任何地方访问的远程服务器,使用'0.0.0.0'。默认为'127.0.0.1'。port:服务器的 HTTP 端口。默认为 9999。browser:若为 True,则自动打开显示文件(trace 被调用)可视化图的浏览器标签。默认为 False。
pip install
机器之心还发现了一个可以可视化代码执行过程的网站,名为 Pythontutor。和本文的 Heartrate 不同,该网站更多的是可视化数据在程序中的变化过程。
用户还可以在网站上编辑修改代码,观察运行过程中数据的变化。同时该网站还有 Java 等其他语言的版本。
网站地址:http://www.pythontutor.com (http://www.pythontutor.com/)参考链接:https://github.com/alexmojaki/heartrate有人建议每期直接给推荐书,我觉得挺好的。这篇推文的福利赠书,暂时还是我自己翻译的《Python编程无师自通》(先累计送 3 本),送给本篇文章点赞最多的精选留言者。书籍的详细介绍可以点击下面的链接查看。
回复下方「关键词」,获取优质资源
回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「书单02」,立即获取主页君整理的 10 本 Python 入门书的电子版
回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~
推荐阅读
题图:pexels,CC0 授权。