出于某种原因,我根本无法进入 _lru_cache_wrapper 的代码。
我看到 lru_cache 装饰器在 functools.py 中返回一个带有 _lru_cache_wrapper 的闭包。但是,当我在 _lru_cache_wrapper 的代码中放置断点时,它永远不会被触发。我什至放置了一个 print() 语句,但它似乎没有被击中。我对此感到非常困惑,因为 lru_cache 代码命中了断点,但没有命中 _lru_cache_wrapper。
from functools import lru_cache
@lru_cache()
def foo():
print('foo')
if __name__ == '__main__':
foo()
print(foo.cache_info())
最佳答案
functools.py
中的版本未使用。这是replaced由 _functools
中用 C 编写的版本:
try:
from _functools import _lru_cache_wrapper
except ImportError:
pass
关于python - 无法进入lru_cache'_lru_cache_wrapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54186904/