When is a module imported from the standard library?

Dinu Gherman dinu at reportlab.com
Wed Aug 22 07:48:01 EDT 2001


Hi,

I wonder if there is a way to tell if a module is 
part of the standard library or not, when you scan 
over Python source code and handle import statement 
"events"?

Note that I'm not interested in the complexities of 
loading a module named "copy" that sits in the cur-
rent directory, shadowing the one in the standard 
library, though...

I think all I like to know is if there is a cross-
platform way to (normally) find out from these 
lines:

  >>> import copy
  >>> copy.__file__
  'c:\\programs\\python21\\lib\\copy.pyc'
  >>> import xmlpp
  >>> xmlpp.__file__
  'c:\\users\\gherman\\python\\lib\\xmlpp.py'
  >>> 

that 'c:\\programs\\python21\\lib' is the folder
in which the standard library is installed? 

Of course, this should work without having to im-
port all or even a large fraction of some known 
standard modules and verify if their __file__ 
attribute's directory part is the same... 

Ideally, one would not need to import anything, but 
could simply check for an import statement event (on 
the code level) if the module name exists in the fol-
der of the standard library or not (modulo some sha-
dowing effects).

Or, to put it differently: how do I find the stan-
dard library's installation folder without importing 
anything?

Regards,

Dinu

-- 
Dinu C. Gherman
dinu at reportlab dot com
http://www.reportlab.com
................................................................
"The only possible values [for quality] are 'excellent' and 'in-
sanely excellent', depending on whether lives are at stake or 
not. Otherwise you don't enjoy your work, you don't work well, 
and the project goes down the drain." 
                    (Kent Beck, "Extreme Programming Explained")



More information about the Python-list mailing list