]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.9] bpo-43958: Document importlib.metadata.PackagePath.locate method (GH-25669...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 18 Jul 2021 02:53:00 +0000 (19:53 -0700)
committerGitHub <noreply@github.com>
Sun, 18 Jul 2021 02:53:00 +0000 (19:53 -0700)
(cherry picked from commit b38b2fa0218911ccc20d576ff504f39c9c9d47ec)

Co-authored-by: Paul Moore <p.f.moore@gmail.com>
Automerge-Triggered-By: GH:jaraco
Doc/library/importlib.metadata.rst

index 9bf34047ddaecbc89b95c9c62d9c80b5cb56ec51..1f73017e05ced7aa2adb109a9a671e3f4fdd8d84 100644 (file)
@@ -149,7 +149,7 @@ Distribution files
 You can also get the full set of files contained within a distribution.  The
 ``files()`` function takes a distribution package name and returns all of the
 files installed by this distribution.  Each file object returned is a
-``PackagePath``, a :class:`pathlib.Path` derived object with additional ``dist``,
+``PackagePath``, a :class:`pathlib.PurePath` derived object with additional ``dist``,
 ``size``, and ``hash`` properties as indicated by the metadata.  For example::
 
     >>> util = [p for p in files('wheel') if 'util.py' in str(p)][0]  # doctest: +SKIP
@@ -173,6 +173,12 @@ Once you have the file, you can also read its contents::
             return s.encode('utf-8')
         return s
 
+You can also use the ``locate`` method to get a the absolute path to the
+file::
+
+    >>> util.locate()  # doctest: +SKIP
+    PosixPath('/home/gustav/example/lib/site-packages/wheel/util.py')
+
 In the case where the metadata file listing files
 (RECORD or SOURCES.txt) is missing, ``files()`` will
 return ``None``. The caller may wish to wrap calls to