【发布时间】:2016-03-19 02:37:40
【问题描述】:
我想使用类装饰器(不是函数装饰器!),例如
def class_decorator(cls):
class new_cls(cls):
def run(self, *args, **kwargs):
print 'In decorator'
super(new_cls,self).run(*args, **kwargs)
return new_cls
@class_decorator
class cls(object):
'''
a class
'''
def run(self):
print 'called'
并且能够腌制物体:
import pickle
a = cls()
a.run()
s = pickle.dumps(a)
但是pickle返回错误:
PicklingError: Can't pickle <class '__main__.new_cls'>: it's not found as __main__.new_cls
任何帮助将不胜感激!
【问题讨论】:
标签: python class decorator pickle