[python] Dynamický import

Petr Janda jape na entropy.cz
Čtvrtek Leden 4 11:26:28 CET 2007


V Thu, 04 Jan 2007 01:53:02 -0800, Vaclav Vais napsal(a):

> Ahoj,
> 
> potřeboval bych poradit jak provést import a následně instanci
> třídy, když načtu názey třídy z DB. V balíčku je několik
> objektů, které mají stejné metody, potřebuji na základě dotazu
> do DB naimportovat konkrétní třídu z konkrétního modulu (názvy
> jsou stejné) a pak vytvořit instanci, název třídy je v proměnné.
> 
> nějak takto:
> 
> className="třída"
> importuj(className)
> instance=vytvořInstanci(className)
> 
> Díky moc za radu
> 
> V.

Ahoj,

zkusil bych:
className='jmenoTridy'
packageName = 'jmenoBalicku'
moduleName = 'jmenoModulu'

modul = __import__('%s.%s'
%(packageName,mouleName),globals(),locals(),['%s' %packageName]) 
trida = modul.__getattribute__(className)
instance = trida()


-- 
Petr Janda


Další informace o konferenci Python