On Feb 2, 2011, at 2:08 PM, Anthony wrote:
> Anyone? Is using local_import to import a class into a model/controller just
> as safe as using 'from a import A' (i.e., in terms of memory leaks), or do
> you have to use the Python import statement directly?
It should be equivalent; both end up calling __import__() to do the actual work.
>
> On Tuesday, February 1, 2011 5:25:51 PM UTC-5, Anthony wrote:
> But what if 'local_import' is used (instead of 'from a import Foo') -- does
> local_import work the same as regular Python imports?
>
> On Tuesday, February 1, 2011 5:09:25 PM UTC-5, Massimo Di Pierro wrote:
> I run this test (following Armin's example):
>
> # in file a.py
> class Foo(object):
> def __del__(self):
> print 'Deleted'
>
> #in file b.py
> from a import A
> foo=Foo()
>
> #in file c.py
> execfile('b.py', {})
> execfile('b.py', {})
> execfile('b.py', {})
> import gc
> gc.collect()
>
> running c.py printes
> Deleted
> Deleted
> Deleted
>
> therefore there is NO memory leak.
>
> On Feb 1, 3:08 pm, VP <[email protected]> wrote:
> > One question:
> > If I define a class externally, and use local_import to import it into
> > controller or model, will it have these potential problems or not?