Package importing question

Daniel Dittmar daniel at
Tue Mar 9 21:16:20 CET 2004

Nick Patavalis wrote:
> so far, so good. Now try:
>   >>> import p0.m0
>   dir(p0.m0)
>   ['__builtins__', '__doc__', '__file__', '__name__', 'f0', 'm1', 'sys']
> fine also! But:
>   >>> dir(p0)
>   ['__builtins__', '__doc__', '__file__', '__name__', '__path__',
>   'm0', 'm1']
> Why on earth does 'm1' show-up there?? And since it does, why doesn't
> 'sys'??

Because all sub modules of package p0 get inserted into the module 
object for p0. This is so that a later import of p0.m1 won't 
import/execute it again. And you did import p0.m1 through the 'import 
m1' in m0.


More information about the Python-list mailing list