希望你一切都好!
我正在使用一个利用 functools 库的 lru_cache 的函数。例如:
@functools.lru_cache(maxsize=pow(2,13))
def get_id(word):
# retrieving id, using cache if possible
有时我希望绕过缓存,直接从源代码获取ID,但我不想创建两个完全相同的函数(一个有缓存,另一个没有)。根据docs.python上functools的文档,了解到可以绕过缓存: “原始基础函数可通过wrapped属性访问。这对于内省、绕过缓存或使用不同缓存重新包装函数很有用。” 我尝试使用包装函数实现此功能,但由于内部函数仅在外部函数运行时存在,因此每次调用都会重置缓存。希望能得到任何有关此事的帮助。