[python] import
Martin Blazik
martin.blazik na premiumsms.cz
Pátek Červenec 1 16:23:07 CEST 2005
Super, dik. Primo reseni z manualove stranky (cetl jsem to koukam dost
ledabyle)
def _import(name):
mod = __import__(name)
components = name.split('.')
for comp in components[1:]:
mod = getattr(mod, comp)
return mod
name = 'one.two.three'
_import(name).foo(...)
lachtan
Jaroslav Pachola napsal(a):
>Aha,
>
>Dne Friday 01 July 2005 15:49 Martin Blazik napsal(a):
>
>
>>Jeste maly dodatek, jsem asi jasne nerekl, ze ty moduly mam jako retezec
>>(nacita se z textoveho konfiguracniho souboru). Metodu foo() uz znam
>>korektne jmenem.
>>(Re: se mi tam vetrelo jen diky me lenosti :)
>>
>>lachtan
>>
>>
>>
>
>ale to by nemelo vadit. Vzdycky se da udelat nejaka vlastni metoda pro
>importovani modulu, ktera nahraje modul pomoci __import__(), pak si
>zanalyzuje ten retezec (moduleName.split(.)) a pak vyextrahuje ten kyzeny
>modul pomoci funkce getattr() - klidne i opakovane, pokud v tom nazvu modulu
>je vic tecek - a ten modul vrati.
>
>JP
>_______________________________________________
>Python mailing list
>Python na py.cz
>http://www.py.cz/mailman/listinfo/python
>
>
>
Další informace o konferenci Python