From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sun, 18 Jul 2021 02:53:00 +0000 (-0700) Subject: [3.9] bpo-43958: Document importlib.metadata.PackagePath.locate method (GH-25669... X-Git-Tag: v3.9.7~149 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=049e98b2b74cdcd462f31720c24ab6ebff599d9f;p=thirdparty%2FPython%2Fcpython.git [3.9] bpo-43958: Document importlib.metadata.PackagePath.locate method (GH-25669) (GH-27221) (cherry picked from commit b38b2fa0218911ccc20d576ff504f39c9c9d47ec) Co-authored-by: Paul Moore Automerge-Triggered-By: GH:jaraco --- diff --git a/Doc/library/importlib.metadata.rst b/Doc/library/importlib.metadata.rst index 9bf34047ddae..1f73017e05ce 100644 --- a/Doc/library/importlib.metadata.rst +++ b/Doc/library/importlib.metadata.rst @@ -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