Re: Dynamic/runtime code introspection/compilation




Thomas W wrote:
Maybe a stupid subject, but this is what I want to do :

I got some python code stored in a string:

somecode = """

from somemodule import ISomeInterface

class Foo(ISomeInterface):
param1 = ...
param2 = ....

"""

and I want to compile that code so that I can use the Foo-class and
check what class it extends, in this case ISomeInterface etc. I've
tried eval, codeop etc. but it doesn't work. Something like this would
be nice :

from somemodule import ISomeInteface

d = compile(sourcecode)

myfoo = d.Foo()

print ISomeInterface in myfoo.__bases__

Any hints?

Here is hello world program for plugins:

import sys

somecode = """
class Foo:
param1 = "Hello, world!"
"""

plugin = type(sys)('unknown_plugin') # Create new empty module
exec somecode in plugin.__dict__

print plugin.Foo.param1

-- Leo

.



Relevant Pages

  • Re: Dynamic/runtime code introspection/compilation
    ... I got some python code stored in a string: ... from somemodule import ISomeInterface ... in this case ISomeInterface etc. I've ... Here is hello world program for plugins: ...
    (comp.lang.python)
  • Dynamic/runtime code introspection/compilation
    ... Maybe a stupid subject, but this is what I want to do: ... I got some python code stored in a string: ... from somemodule import ISomeInterface ... in this case ISomeInterface etc. I've ...
    (comp.lang.python)