Code: Alles auswählen
from pickle import dumps, loads
import anydbm
class Database:
def __init__(self, name, mode="w"):
self.database = anydbm.open(name, mode)
def __setitem__(self, key, value):
return self.put(key, value)
def put(self, key, value):
key = dumps(key)
value = dumps(value)
self.database[key] = value
def __getitem__(self, key):
key = dumps(key)
return self.get(key)
def get(self, key):
value = self.database[key]
value = loads(value)
return value
def __repr__(self):
return str(dict(self.database))
def __str__(self):
return self.__repr__()
def close(self):
self.database.close()
Code: Alles auswählen
db = Database("random.db", "c")
db.close() # einfach nur um die zu erstellen
del db
db = Database("random.db")
db["random"] = ["meine", "kleine", "liste"] # funtkioniert auch mit ganzen klassen
db.close()
del db
# und jetzt ausprobieren
db = Database("random.db")
db["random"]
# ["meine", "kleine", "liste"]