]> granicus.if.org Git - python/commitdiff
Issue #27853: Add section headers to the importlib example docs
authorBrett Cannon <brett@python.org>
Thu, 8 Sep 2016 17:12:47 +0000 (10:12 -0700)
committerBrett Cannon <brett@python.org>
Thu, 8 Sep 2016 17:12:47 +0000 (10:12 -0700)
Doc/library/importlib.rst

index 6ee74c9e43bb3163e6443374b50503abcd31ab8b..0d314a75ad18268e8fe5d41aa72aec9b7e0d2a03 100644 (file)
@@ -1353,6 +1353,9 @@ an :term:`importer`.
 Examples
 --------
 
+Importing programmatically
+''''''''''''''''''''''''''
+
 To programmatically import a module, use :func:`importlib.import_module`.
 ::
 
@@ -1360,6 +1363,10 @@ To programmatically import a module, use :func:`importlib.import_module`.
 
   itertools = importlib.import_module('itertools')
 
+
+Checking if a module can be imported
+''''''''''''''''''''''''''''''''''''
+
 If you need to find out if a module can be imported without actually doing the
 import, then you should use :func:`importlib.util.find_spec`.
 ::
@@ -1380,6 +1387,10 @@ import, then you should use :func:`importlib.util.find_spec`.
       # Adding the module to sys.modules is optional.
       sys.modules[name] = module
 
+
+Importing a source file directly
+''''''''''''''''''''''''''''''''
+
 To import a Python source file directly, use the following recipe
 (Python 3.4 and newer only)::
 
@@ -1398,6 +1409,10 @@ To import a Python source file directly, use the following recipe
   # by name later.
   sys.modules[module_name] = module
 
+
+Setting up an importer
+''''''''''''''''''''''
+
 For deep customizations of import, you typically want to implement an
 :term:`importer`. This means managing both the :term:`finder` and :term:`loader`
 side of things. For finders there are two flavours to choose from depending on
@@ -1428,6 +1443,10 @@ classes defined within this package)::
   # of priority.
   sys.path_hooks.append(SpamPathEntryFinder.path_hook(loader_details))
 
+
+Approximating :func:`importlib.import_module`
+'''''''''''''''''''''''''''''''''''''''''''''
+
 Import itself is implemented in Python code, making it possible to
 expose most of the import machinery through importlib. The following
 helps illustrate the various APIs that importlib exposes by providing an