From: Kevin B. <kb...@ca...> - 2002-02-27 22:40:02
|
Samuele Pedroni wrote: > From: <Mat...@i2...> > > >>> import a > > ...NameError... > > >>> import a > > >>> a.foo > Is the BDFL (Guido van Rossum) intended behavior, > > the point is that, if an import fails somehow, you are on your own, > if you know how to cleanup things you can do that explicitly > ... > the precise rationale is something also Guido continously forget > about. I've found it quite handy helping to debug the problem that caused the error. import x <error> from x import * <look at values that led to the failure...> It is easy enough to re-execute the failed import with the reload() function: import x <error> import x reload( x ) # executes your fixed code, or triggers the failure again. Standard caveats about Python's non-recursive reload() apply. :-) kb |