mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Close #15387: inspect.getmodulename() now uses a new importlib.machinery.all_suffixes() API rather than the deprecated inspect.getmoduleinfo()
This commit is contained in:
parent
90db661b43
commit
76e077001d
5 changed files with 40 additions and 6 deletions
|
@ -533,12 +533,23 @@ find and load modules.
|
|||
|
||||
.. attribute:: EXTENSION_SUFFIXES
|
||||
|
||||
A list of strings representing the the recognized file suffixes for
|
||||
A list of strings representing the recognized file suffixes for
|
||||
extension modules.
|
||||
|
||||
.. versionadded:: 3.3
|
||||
|
||||
|
||||
.. func:: all_suffixes()
|
||||
|
||||
Returns a combined list of strings representing all file suffixes for
|
||||
Python modules recognized by the standard import machinery. This is a
|
||||
helper for code which simply needs to know if a filesystem path
|
||||
potentially represents a Python module (for example,
|
||||
:func:`inspect.getmodulename`)
|
||||
|
||||
.. versionadded:: 3.3
|
||||
|
||||
|
||||
.. class:: BuiltinImporter
|
||||
|
||||
An :term:`importer` for built-in modules. All known built-in modules are
|
||||
|
|
|
@ -198,9 +198,18 @@ attributes:
|
|||
.. function:: getmodulename(path)
|
||||
|
||||
Return the name of the module named by the file *path*, without including the
|
||||
names of enclosing packages. This uses the same algorithm as the interpreter
|
||||
uses when searching for modules. If the name cannot be matched according to the
|
||||
interpreter's rules, ``None`` is returned.
|
||||
names of enclosing packages. The file extension is checked against all of
|
||||
the entries in :func:`importlib.machinery.all_suffixes`. If it matches,
|
||||
the final path component is returned with the extension removed.
|
||||
Otherwise, ``None`` is returned.
|
||||
|
||||
Note that this function *only* returns a meaningful name for actual
|
||||
Python modules - paths that potentially refer to Python packages will
|
||||
still return ``None``.
|
||||
|
||||
.. versionchanged:: 3.3
|
||||
This function is now based directly on :mod:`importlib` rather than the
|
||||
deprecated :func:`getmoduleinfo`.
|
||||
|
||||
|
||||
.. function:: ismodule(object)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue