K
King
This is a new test for object persistency. I am trying to store the
relationship between instances externally.
It's not working as expected. May be I am doing it in wrong way. Any
suggestions?
import shelve
class attrib(object):
pass
class node(object):
def __init__(self):
self.a = attrib()
self.b = attrib()
self.c = attrib()
self.d = attrib()
a = node()
#store pair relationship. This relationship is created at run time.
lst = [[a.a, a.b], [a.c, a.d]]
#Write objects into file
shelf = shelve.open('shelve_test_01.txt', writeback=True)
shelf['node'] = a
shelf['lst'] = lst
shelf.sync()
shelf.close()
#Read objects from file
shelf = shelve.open('shelve_test_01.txt', 'r')
a = shelf['node']
lst = shelf['lst']
print a.a, a.b, a.c, a.d
#lst does not contains the relationship of object 'a''s attributes,
instead it's creating new instances
#of 'attrib' class
print lst
relationship between instances externally.
It's not working as expected. May be I am doing it in wrong way. Any
suggestions?
import shelve
class attrib(object):
pass
class node(object):
def __init__(self):
self.a = attrib()
self.b = attrib()
self.c = attrib()
self.d = attrib()
a = node()
#store pair relationship. This relationship is created at run time.
lst = [[a.a, a.b], [a.c, a.d]]
#Write objects into file
shelf = shelve.open('shelve_test_01.txt', writeback=True)
shelf['node'] = a
shelf['lst'] = lst
shelf.sync()
shelf.close()
#Read objects from file
shelf = shelve.open('shelve_test_01.txt', 'r')
a = shelf['node']
lst = shelf['lst']
print a.a, a.b, a.c, a.d
#lst does not contains the relationship of object 'a''s attributes,
instead it's creating new instances
#of 'attrib' class
print lst