0
Ich versuche, eine einfache Datenbank von Schülern (Namen und Alter) zu bauen. Wenn ich versuche, einen bestehenden Schüler zu löschen und die Datenbank zu drucken, druckt es mich <class '__main__.data_base'>
, aber wenn ich versuche, einen nicht existierenden Schüler zu löschen, druckt es die Datenbank gut.Klasse Objektdruck instatied des Inhalts
import pickle
class data_base:
data={}
class __metaclass__(type):
def __iter__(self):
for attr in dir(data_base):
if not attr.startswith("__"):
yield attr
def __init__(self):
self.write("")
def write(self,my_data):
pickle.dump(my_data, open("database.p", "wb"))
def read(self):
return pickle.load(open("database.p", "rb"))
def delete_student(self):
#delete key and value
to_delete=raw_input("who do you want to delete? ")
my_data=self.read()
if to_delete in my_data.__iter__():
my_data.pop(to_delete)
self.write(data_base)
else:
print "no such student"
def clear_data_base(self):
#delete data baase
self.write("")
def main():
first_data={"ben":10,"dan":6}
my_data_base=data_base()
my_data_base.clear_data_base()
my_data_base.write(first_data)
print my_data_base.read()
my_data_base.delete_student()
print my_data_base.read()
ok, danke, dummer Fehler – user4719989