When is a module imported from the standard library?

Emile van Sebille emile at fenx.com
Wed Aug 22 14:34:15 CEST 2001

Wouldn't the shortest entry in sys.path ending in lib give this to you?  If
you're concerned that the path may have been tweaked maybe:

 o = os.popen('python -c "import sys;print sys.path"').read()



Emile van Sebille
emile at fenx.com

"Dinu Gherman" <dinu at reportlab.com> wrote in message
news:3b8394bf.3928488 at news.t-online.de...
> 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