我正在尝试使用cProfile.run
分析嵌套函数。我知道,cProfile
的运行范围可能与我所说的范围不同,但是我不太确定实现这一目标的惯用方式。这是MVCE:
def foo():
def bar():
# do something here
return 1
cProfile.run('bar()')
给出错误:
NameError: name 'bar' is not defined
答案 0 :(得分:3)
def foo():
def bar():
# do something here
return 1
cProfile.runctx('bar()', None, locals=locals())
答案 1 :(得分:0)
使用cProfile.run
def foo():
def bar():
# do something here
return 1
cProfile.run(bar.__code__)