[Python-ideas] Why can't we pickle module objects?

Richard Oudkerk shibturn at gmail.com
Tue Jul 9 11:22:21 CEST 2013


You can work around it fairly easily with copyreg:

 >>> import sys, copyreg, pickle
 >>> def reduce_mod(m):
...   assert sys.modules[m.__name__] is m
...   return rebuild_mod, (m.__name__,)
...
 >>> def rebuild_mod(name):
...   __import__(name)
...   return sys.modules[name]
...
 >>> copyreg.pickle(type(sys), reduce_mod)
 >>> pickle.loads(pickle.dumps(sys))
<module 'sys' (built-in)>

-- 
Richard



More information about the Python-ideas mailing list