Python Glossary English

Python 3.9+pstatsпонятие

pstats.StatsProfile

программный доступ

Датакласс со всем профилем: общее время total_tt и словарь func_profiles «имя функции → FunctionProfile».

Синтаксис

sp = pstats.Stats(profile).get_stats_profile()

Это единственный способ получить результаты профиля данными, а не печатью — например, проверить в тесте, что функция вызывалась не больше N раз. Ключ словаря — только имя функции, без класса и файла: A.run и B.run схлопываются в одну запись 'run', и какая из них останется, зависит от версии. Встроенные функции попадают туда под длинными именами вроде "<built-in method builtins.len>".

Примеры

import cProfile, pstats
class A:
    def run(self): pass
class B:
    def run(self): pass
with cProfile.Profile() as pr:
    A().run()
    B().run()
sp = pstats.Stats(pr).get_stats_profile()
print(type(sp).__name__)  # → StatsProfile
print([name for name in sp.func_profiles if 'run' in name])  # → ['run']

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности