importing / loading a module / class dynamically
Laszlo Nagy
gandalf at designaproduct.biz
Fri Jan 5 11:54:50 EST 2007
hg írta:
> hg wrote:
>
>
>> Hi,
>>
>> I have the following problem.
>>
>> I find in a directory hierarchy some files following a certain sets of
>> rules:
>>
>> .../.../../plugin/name1/name1.py
>> ....
>> .../.../../plugin/namen/namen.py
>>
>> each file will in turn have a class with the same name as the filename
>> (minus .py)
>>
>>
>> I fetch those names in a list of string and want to import the files /
>> instantiate the classes.
>>
>>
>> I block at the beginning and tried this (test.py is a real file)
>>
>>>>> s = 'test.py'
>>>>> eval ('import ' + s)
>>>>>
>> and get
>>
>> Traceback (most recent call last):
>> File "<pyshell#1>", line 1, in -toplevel-
>> eval ('import ' + s)
>> File "<string>", line 1
>> import test.py
>>
>> Any clue ?
>>
>> Thanks
>>
>> hg
>>
>
>
> OK, from http://mail.python.org/pipermail/python-list/2004-July/272081.html,
> I need to use exec and not eval
>
Well, you can also use the 'imp' module. You should read this:
http://docs.python.org/lib/module-imp.html
Best,
Laszlo
More information about the Python-list
mailing list