initial commit
This commit is contained in:
23
utils/tools.py
Normal file
23
utils/tools.py
Normal file
@ -0,0 +1,23 @@
|
||||
import pickle
|
||||
import shelve
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def write_to_shelve(file_path, value):
|
||||
check_path(file_path)
|
||||
file_path.parent.mkdir(exist_ok=True, parents=True)
|
||||
with shelve.open(str(file_path), protocol=pickle.HIGHEST_PROTOCOL) as f:
|
||||
new_key = str(len(f))
|
||||
f[new_key] = value
|
||||
f.close()
|
||||
|
||||
|
||||
def load_from_shelve(file_path, key):
|
||||
check_path(file_path)
|
||||
with shelve.open(str(file_path)) as d:
|
||||
return d[key]
|
||||
|
||||
|
||||
def check_path(file_path):
|
||||
assert isinstance(file_path, Path)
|
||||
assert str(file_path).endswith('.pik')
|
Reference in New Issue
Block a user