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__

questionAnswers(1)

yourAnswerToTheQuestion