I have a problem using Pickle inside a class object.

The following code works:

m2 = markov_model.MarkovModel()
m2 =  pickle.load(open("prueba", 'rb'))
print m2.n

However, if I create the following method inside markov_model.MarkovModel:

def load_model_from_file(self, name):
        try:
                file = open(name, 'rb')
                self = pickle.load(file)
                file.close()
        except pickle.PicklingError:
                print "PicklingError"

and then run:

m2 = markov_model.MarkovModel()
m2.load_model_from_file("prueba")
print m2.n

it says that 'MarkovModel' object has no attribute 'n'. If the printing of
'n' i put it inside (at the end) of the method load_model_from_file as
'print self.n' it works.

How can i solve this?
Thanks

-- 
View this message in context: 
http://old.nabble.com/Pickle-tp28219159p28219159.html
Sent from the Python - python-list mailing list archive at Nabble.com.

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to