summaryrefslogtreecommitdiffstats
path: root/Doc/library/importlib.rst
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2009-04-01 20:47:14 (GMT)
committerBrett Cannon <bcannon@gmail.com>2009-04-01 20:47:14 (GMT)
commit16248a49b91f4a797a4decb0778657b72dd5ab20 (patch)
tree889a505f1ca1461cc37367eb837b668b2d1604e7 /Doc/library/importlib.rst
parent91d7dfd77c85c0549b48d2bb281e83b51d38c0c4 (diff)
downloadcpython-16248a49b91f4a797a4decb0778657b72dd5ab20.zip
cpython-16248a49b91f4a797a4decb0778657b72dd5ab20.tar.gz
cpython-16248a49b91f4a797a4decb0778657b72dd5ab20.tar.bz2
Add some clarification to the importlib docs.
Diffstat (limited to 'Doc/library/importlib.rst')
-rw-r--r--Doc/library/importlib.rst12
1 files changed, 8 insertions, 4 deletions
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst
index 8635f87..b698439 100644
--- a/Doc/library/importlib.rst
+++ b/Doc/library/importlib.rst
@@ -169,13 +169,11 @@ are also provided to help in implementing the core ABCs.
An abstract method to return the bytes for the data located at *path*.
Loaders that have a file-like storage back-end
- that allows storing arbitrary data (e.g. a zip archive loader)
+ that allows storing arbitrary data
can implement this abstract method to give direct access
to the data stored. :exc:`IOError` is to be raised if the *path* cannot
be found. The *path* is expected to be constructed using a module's
- :attr:`__path__` attribute or an item from :attr:`__path__`.
-.. XXX What's the difference between the latter two? (Maybe one is __file__?)
-.. XXX Could use a clarification so as not to depend on PEP 302.
+ :attr:`__file__` attribute or an item from a package's :attr:`__path__`.
.. class:: InspectLoader
@@ -380,4 +378,10 @@ an :term:`importer`.
Note that the module returned by the loader is what has the attribute
set on and not the module found in :data:`sys.modules`.
+ Reliance on this decorator is discouraged when it is possible to set
+ :attr:`__package__` before the execution of the code is possible. By
+ setting it before the code for the module is executed it allows the
+ attribute to be used at the global level of the module during
+ initialization.
+
.. XXX This whole chapter desperately needs examples...