/
githubmirror
/
python3-libs
Обзор
Документация
Войти
/
githubmirror
/
python3-libs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
bjourne/utils.py
23 строки
746 B
Björn Lindqvist
A fun utility module
02 июл 2026, 14:37
02 июл 2026, 14:37
e2c6638
Код
Авторство
О чём код?
# Copyright (C) 2026 Björn A. Lindqvist <bjourne@gmail.com> from functools import wraps import pickle def pickle_cache(base_dir, kfun): def decor(fun): @wraps(fun) def wrapper(*args, **kwargs): name = [str(x) for x in [fun.__name__] + kfun(*args, **kwargs)] path = base_dir / ("-".join(name) + ".pickle") if path.exists(): print("Loading %s" % path) with path.open("rb") as f: return pickle.load(f) ret = fun(*args, **kwargs) print("Writing %s" % path) with path.open("wb") as f: pickle.dump(ret, f) return ret return wrapper return decor