import cPickle as pickle
import time
class some_object(object):
def __init__(self):
self.my_val = sum([x**2 for x in xrange(1000000)])
start = time.time()
obj = some_object()
print "Calculated value = {}".format(obj.my_val)
with open('saved_object.pickle', 'w') as outfile: #Save the object
pickle.dump(obj, outfile)
interim = time.time()
reload_obj = pickle.load(open('saved_object.pickle','r'))
print "Precalculated value = {}".format(reload_obj.my_val)
end = time.time()
print "Creating object took {}".format(interim - start)
print "Reloading object took {}".format(end - interim)
我认为您要寻找的是序列化对象的^{} module 。在Python2中有
pickle
和cPickle
,这是相同的,但是更快,但是iirc Python3只有pickle
(在引擎盖下,这相当于Python2中的cPickle
)。这将允许您使用预先计算的属性保存对象。你知道吗相关问题 更多 >
编程相关推荐