我正在使用cProfile来分析整个应用程序的主要功能。除了正在分析的一些第三方库以及输出中显示之外,它工作得很好。读取输出时并不总是这样。
我的问题是,我怎么能限制这个? documentation on python profilers提及:
p.sort_stats('time', 'cum').print_stats(.5, 'init')
此行使用主键时间和累计时间的辅助键对统计信息进行排序,然后打印出一些统计信息。具体来说,列表首先被剔除到其原始大小的50%(re:.5),然后只维护包含init的行,并打印该子子列表。 / p>
它提到仅显示包含“init”的行。这很好用,但我想以这样的方式限制它,以便我可以说,限制包含“init”和/或“get”的行。通过反复试验我发现你可以添加另一个参数,一个字符串,它将被进一步过滤,只显示包含string1 和 string2的行。使用我之前的示例,这看起来像:
p.sort_stats('time', 'cum').print_stats(.5, 'init', 'get')
任何人都知道如何限制线条,以便只显示包含“init”和/或“get”的行?
答案 0 :(得分:0)
根据您链接的文档,字符串是正则表达式:
每个限制都是整数 ...,或正则表达式(to 模式匹配标准名称 印刷;从Python 1.5b1开始,这个 使用Perl风格的正则表达式 re模块定义的语法)
因此:
p.sort_stats('time', 'cum').print_stats(.5, 'init|get')
应该有用。