Como gerar um objeto de módulo a partir de um objeto de código em Python
Como tenho o objeto de código de um módulo, como obtenho o objeto de módulo correspondente?
ParecemoduleNames = {}; exec code in moduleNames
faz algo muito próximo do que eu quero. Retorna as globais declaradas no módulo em um dicionário. Mas se eu quero o objeto do módulo real, como faço para obtê-lo?
EDIT: Parece que você pode rolar seu próprio objeto de módulo. O tipo de módulo não está convenientemente documentado, mas você pode fazer algo assim:
import sys
module = sys.__class__
del sys
foo = module('foo', 'Doc string')
foo.__file__ = 'foo.pyc'
exec code in foo.__dict__