Load objects using __import__

Carl Banks pavlovevidence at gmail.com
Tue Nov 21 09:04:40 EST 2006


MindClass wrote:
> But when I load the object I get
>     SyntaxError: invalid syntax
>
>     c1 = <module 'project.I18n.models' from
> '/home/lala/django/project/I18n/models.pyc'>.Country(name="Afghanistan")

It looks like you're running generated code somewhere, but passing the
module itself rather than the name of the module to the code generator
by mistake.  Perhaps you're execing some code that you pass the module
name to?  Something like this?

exec 'c1 = %s.Country(name="Afgahanstan")' % module_name

You seem to be erroneously using the module itself, not the module
name.

That's about all I can help without more information.


P.S. if you are doing that, consider using getattr instead of exec.

c1 = getattr(module,Country)(name="Afgansitan")


Carl Banks




More information about the Python-list mailing list