[Tutor] Global presets ?

Dave S pythontut at pusspaws.net
Sat Dec 4 22:45:04 CET 2004


Brian van den Broek wrote:

>
> Hi Dave, Kent, and all,
>
> I have a caution about the
>  from Config import *
> idiom that Kent didn't mention.
>
> It can lead to namespace pollution, in that if you have a module 'foo' 
> with a name 'bar' and you are witting a script which says
>  from foo import *
> you have to be very careful that your script doesn't also assign to 
> the name 'bar', else you may end up thinking you have two different 
> things available when you don't. ('bar' will either point to your 
> script's bar or to Config.bar, depending on whether you imported 
> Config before or after your scripts assignment to bar.)
>
> The first time this bites you, it can eat up hours of your life. (But 
> I'm not bitter;-)
>
> I avoid this by using the
>  import examplemodule as em
>
> That imports everything so that you accesses it by
>  em.some_name
> rather than
>  examplemodule.some_name
>
> I find that really handy for the handful of utility modules I import 
> into most of my scripts. Then, I just have to be sure to avoid a small 
> set of names -- 'em' in this case. And my python files have nice 
> descriptive names, but I only have to type then once.
>
> Best,
>
> Brian vdB
>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
Thanks for pointing that out. Im a bit of a Python coward and opted for

from config import data_dir,HTML_addr

Mainly so I can see where these variables come from. I have never seen 
the 'as' operator on an import before, so much to learn (and remember) ;-)

Dave



More information about the Tutor mailing list