[Grok-dev] Creating an object from a path
paulalexwilson at gmail.com
Fri Feb 6 11:41:13 EST 2009
2009/2/6 Sylvain Viollon <sylvain at infrae.com>:
> On Fri, 6 Feb 2009 15:04:52 +0000
> Paul Wilson <paulalexwilson at gmail.com> wrote:
>> 2009/2/6 Sebastian Ware <sebastian at urbantalk.se>:
>> > If I have a string:
>> > "<class 'trigger.promotion.Promotion'>"
>> > can I create an object of the type [trigger.promotion.Promotion]?
>> You mean like:
>> classobj = eval('trigger.promotion.Promotion')
> I am not a fan of eval, you can provides anything you want and it
> will be executed.
> from zope.dottedname.resolve import resolve
> classobj = resolve('trigger.promotion.Promotion')
> Will just resolve the path to the object (and not evaluate anything).
>> instanceobj = classobj()
Yeah - eval should almost never be used I guess.. Thanks for the tip!
More information about the Grok-dev