cProfile внутри вложенной функции - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь профилировать вложенную функцию, используя cProfile.run.Я понимаю, что, возможно, cProfile не работает в той же области, в которой я его называю, но я не совсем уверен, каков идиоматический способ добиться этого.Вот MVCE:

def foo():
    def bar():
        # do something here
        return 1
    cProfile.run('bar()')

выдает ошибку:

NameError: name 'bar' is not defined

1 Ответ

0 голосов
/ 28 июня 2018

Использование cProfile.runctx:

def foo():
    def bar():
        # do something here
        return 1
    cProfile.runctx('bar()', None, locals=locals())
...