cProfile命令行如何减少输出

Posted

技术标签:

【中文标题】cProfile命令行如何减少输出【英文标题】:cProfile command line how to reduce output 【发布时间】:2016-06-27 15:36:23 【问题描述】:

我正在尝试在我的 python 脚本上运行 cProfile,我只关心运行的总时间。有没有办法修改

python -m cProfile myscript.py

所以输出就是总时间?

【问题讨论】:

【参考方案1】:

这个答案假设您使用的是 Unix 终端。 我能想到的最快的事情是使用 ">" 运算符将结果重定向到一个文件中,然后用 head 读取文件,例如:

python -m cProfile your_python_file.py > temp_file && head -n 3 temp_file 

所以基本上,为了进一步解释我自己,您正在将分析的所有结果写入 temp_file (如果该文件不存在并且它的名称并不重要,则会创建该文件)。在此之后,您使用 head -n 3 显示此文件的前 3 行。当然,如果您不需要 temp_file,您将不得不手动删除它!希望这会有所帮助!

【讨论】:

我不能以某种方式将 -n 3 添加到初始命令本身吗?抱歉,如果这是一个愚蠢的问题,我只是想加快我在各种设置下记录时间的工作,而打开临时文件无济于事 你可以试试 head -n 3 | python -m cProfile your_file.py ,但我认为你会得到一个 IOError,或者至少这是我得到的 你也可以添加 && rm temp_file 来自动清理文件 :D 并在一行中做所有你想做的事情。

以上是关于cProfile命令行如何减少输出的主要内容,如果未能解决你的问题,请参考以下文章

python模块上的cprofile

如何从脚本输出 .cprofile 文件

如何使用 cProfile 模块对 python 中的每个函数进行计时?

从命令行分析 python 模块

Python cProfile:pyo文件是不是可能

python性能测量工具cProfile