Axel Straschil wrote:
Hello!
I was fooling around with creating classes for a module with eval,
something like:
MyModule.py:
class Base:
init(self, name):
self._name = name
for myclass in ['A', 'B', 'C']:
code="class %s(Base):\n\tinit(self, name='%s')\n\t\tsuper(%s,
self).__init(name=name)\n"%dict(myclass, myclass.lower(), myclass())
... codeop and eval stuff ...
a=A()
print a
that gives: <class '__main__.A'>, but I want MyModule.A ;-)
Can someone give me a hint how to create classes in a module with eval
and codeop so that they exist like the code was written in?
Thanks,
AXEL.
You could try just importing the module - then, when it runs, its name
won't be "__main__" but "MyModule".
regards
Steve
--
Meet the Python developers and your c.l.py favorites March 23-25
Come to PyCon DC 2005 http://www.python.org/pycon/2005/
Steve Holden http://www.holdenweb.com/
--
http://mail.python.org/mailman/listinfo/python-list