On Tue, Aug 14, 2012 at 2:43 PM, David Rock <da...@graniteweb.com> wrote: > * Mazhar Hussain <yam.m...@gmail.com> [2012-08-14 23:24]: >> the module object with the del statement. However what happens if I >> try to import a name using 'from' that references a name in the >> imported module that itself is not imported. Consider the following >> example,here there are two modules mod1.py and mod2.py, >> >> #mod1.py >> from mod2 import test
It is probably better to use: import mod2 and then use mod2.test('mod1.py') instead of your line below >> test('mod1.py') >> >> #mod2.py >> def countLines(name): >> print len(open(name).readlines()) >> >> def countChars(name): >> print len(open(name).read()) >> >> def test(name): >> print 'loading...' >> countLines(name) >> countChars(name) >> print '-'*10 > The reason that import is better than from xxx import has to do with name collisions. If you have various modules and they all have a test function, you won't be able to use them all. The last one will be the only one named test() > Loosely speaking, it does import the other methods. In order to > successfully import test(), it has to resolve countLines() and > countChars(). They won't be directly accessible, as they don't exist > in the namespace, but test() knows about them. You are reading too much > into the comment that the module is "deleted". > > -- > David Rock > da...@graniteweb.com > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor -- Joel Goldstick _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor