Учитывая, что у меня есть объект кода для модуля, как мне получить соответствующий объект модуля?
Похоже, что moduleNames = {}; exec code in moduleNames
делает что-то очень близкое к тому, что я хочу. Он возвращает глобалы, объявленные в модуле, в словарь. Но если я хочу фактический объект модуля, как его получить?
EDIT: Похоже, вы можете свернуть свой собственный объект модуля. Тип модуля удобно документировать, но вы можете сделать что-то вроде этого:
import sys
module = sys.__class__
del sys
foo = module('foo', 'Doc string')
foo.__file__ = 'foo.pyc'
exec code in foo.__dict__