> However, it seems that I can't put the function definition in a file > and import it because I can't find a way to refer to an object in the > main program file from within a module file. I understand that it's a > good thing to contol which namespaces are referenced by which code but > isn't there sometimes a need for code in a module to access the main > program file's namespace? My example may be a little contrived but > isn't this ability legitimately needed at times?
robert, you are wrong and right. :-) take your function definition and store in a file called, say showmodule.py. then put the remaining code inside something like foo.py. at the top of foo.py, you'll need: from showmodule import show then everything else will work. there is another syntax that is less recommended, and that is, "from showmodule import *" -- with the danger being exactly what you said above... you are "polluting" your (global) namespace by bringing in *everything* from the other module without much knowledge (necessarily) of what those names are, which may potentially conflict with variables with the same names (if they exist) in your local module. hope this helps! -- wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall, (c)2007,2001 "Python Fundamentals", Prentice Hall, (c)2009 http://corepython.com wesley.j.chun :: wescpy-at-gmail.com python training and technical consulting cyberweb.consulting : silicon valley, ca http://cyberwebconsulting.com _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor