在线轮廓分析时注释掉@profile装饰器

时间:2017-05-13 17:38:21

标签: python profiling

Python行分析的流行解决方案似乎是kernprof -l script.py,这需要在您想要分析的函数中添加“@profile”装饰器。在没有python script.py的情况下运行相同的代码会抱怨“名称'个人资料'未定义”,因此您必须注释掉@profile行。什么是在“配置文件”和非配置文件模式之间切换而不必注释掉那些线条的好方法?

1 个答案:

答案 0 :(得分:2)

您可以尝试在脚本顶部添加类似的内容:

try:
    profile  # throws an exception when profile isn't defined
except NameError:
    profile = lambda x: x   # if it's not defined simply ignore the decorator.

这样你就可以将profile函数定义为no-op装饰器,如果没有定义的话。