我想分析我的代码,但排除启动。
Python 文档 描述 如何将 cProfile 作为脚本运行:
python -m cProfile [-o output_file] [-s sort_order] (-m module | myscript.py)
他们还描述了如何使用 python API 打开和关闭分析:
import cProfile
pr = cProfile.Profile()
pr.enable()
# ... do something ...
pr.disable()
如果我将 cProfile 作为模块运行,运行
pr.enable()
和 pr.disable()
会有效吗?
启动我的代码时是否有一个隐含的“启用”,我可以禁用它,或者脚本方法使用的
cProfile
对象对我来说是不可访问的?
似乎无法访问作为脚本运行时创建的
cProfile.Profile
对象。下一个最好的办法是在程序中尽可能靠近开始处实例化 cProfile.Profile
,并在该实例上调用 disable()
和 enable()
。