Как насчет создания класса Factory с методами для создания, выбора и выделения динамически создаваемых объектов типа?Следующее - грубое начало.Для использования просто замените вызовы pickle.dump (type, fh) на TypeFactory.pickle (type, fh) и замените вызовы pickle.load (fh) на TypeFactory.unpickle (fh).
import pickle
class TypeFactory(object):
def __init__(self):
pass
@staticmethod
def create_type(name='DynamicType', dict={}):
return type(name, (object,), dict)
@staticmethod
def pickle(t, fh):
dict = t.__dict__.copy()
name = t.__name__
for key in dict.keys():
if key.startswith('__') and key.endswith('__'):
del dict[key]
pickle.dump((name, dict), fh)
@classmethod
def unpickle(cls, fh):
name, dict = pickle.load(fh)
return cls.create_type(name, dict)