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