diff options
author | Brett Cannon <bcannon@gmail.com> | 2009-02-16 04:18:01 (GMT) |
---|---|---|
committer | Brett Cannon <bcannon@gmail.com> | 2009-02-16 04:18:01 (GMT) |
commit | debb98d91f6358e85c7790386ab9b6f52299da98 (patch) | |
tree | b9d06c2a93a996867a4ca8282ad09bdb165dfc4c /Doc/library | |
parent | 0d4785bc3b64c9429758436c60357e04bdcd1379 (diff) | |
download | cpython-debb98d91f6358e85c7790386ab9b6f52299da98.zip cpython-debb98d91f6358e85c7790386ab9b6f52299da98.tar.gz cpython-debb98d91f6358e85c7790386ab9b6f52299da98.tar.bz2 |
Document importlib.machinery.PathFinder.
Diffstat (limited to 'Doc/library')
-rw-r--r-- | Doc/library/importlib.rst | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst index d850c7d..1a33fd4 100644 --- a/Doc/library/importlib.rst +++ b/Doc/library/importlib.rst @@ -18,12 +18,12 @@ implementation of the :keyword:`import` statement (and thus, by extension, the :func:`__import__` function) in Python source code. This provides an implementaiton of :keyword:`import` which is portable to any Python interpreter. This also provides a reference implementation which is easier to -read than one in a programming language other than Python. +comprehend than one in a programming language other than Python. Two, the components to implement :keyword:`import` can be exposed in this package, making it easier for users to create their own custom objects (known -generically as importers) to participate in the import process. Details on -providing custom importers can be found in :pep:`302`. +generically as an :term:`importer`) to participate in the import process. +Details on providing custom importers can be found in :pep:`302`. .. seealso:: @@ -126,3 +126,28 @@ find and load modules. Class method that allows this class to be a :term:`loader` for frozen modules. + + +.. class:: PathFinder + + :term:`Finder` for :data:`sys.path`. + + This class does not perfectly mirror the semantics of :keyword:`import` in + terms of :data:`sys.path`. No implicit path hooks are assumed for + simplification of the class and its semantics. + + Only class method are defined by this class to alleviate the need for + instantiation. + + .. classmethod:: find_module(fullname, path=None) + + Class method that attempts to find a :term:`loader` for the module + specified by *fullname* either on :data:`sys.path` or, if defined, on + *path*. For each path entry that is searched, + :data:`sys.path_importer_cache` is checked. If an non-false object is + found then it is used as the :term:`finder` to query for the module + being searched for. For no entry is found in + :data:`sys.path_importer_cache`, then :data:`sys.path_hooks` is + searched for a finder for the path entry and, if found, is stored in + :data:`sys.path_importer_cache` along with being queried about the + module. |