Ich bekomme diese Ausgabe im interaktiven Modus.Klassen in der Dateiverarbeitung in Python 2.7
class test:
def p(self):
print 'PP'
>>> f=open('E:\Python\Roy Progs\Test','w')
>>> t=test()
>>> import pickle
>>> pickle.dump(t,f)
>>> f.close()
>>> f=open('E:\Python\Roy Progs\Test','r')
>>> pickle.load(f).p()
PP
>>> f.close()
>>>
=============================== RESTART: Shell ===============================
>>> f=open('E:\Python\Roy Progs\Test','r')
>>> import pickle
>>> pickle.load(f).p()
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
pickle.load(f).p()
File "E:\Python\lib\pickle.py", line 1384, in load
return Unpickler(file).load()
File "E:\Python\lib\pickle.py", line 864, in load
dispatch[key](self)
File "E:\Python\lib\pickle.py", line 1075, in load_inst
klass = self.find_class(module, name)
File "E:\Python\lib\pickle.py", line 1132, in find_class
klass = getattr(mod, name)
AttributeError: 'module' object has no attribute 'test'
Vom Ausgang ich, dass die Definition der Klasse realisieren (deren Aufgabe wird in der Datei gespeichert ist) in dem RAM in dort zu der Zeit Daten abrufen und damit sein muss. Ich verstehe jedoch nicht, warum das so sein muss, indem ich Objekte in der Datei speichere, speichere ich auch nicht die Klassendefinition?
Fügen Sie keine Bilder von Text ein - fügen Sie den Text selbst ein. –
Danke für den Vorschlag. Ich hoffe, es ist jetzt in Ordnung. –