Skip to content

Commit

Permalink
pythongh-94220: Align fnmatch docs with the implementation and amend …
Browse files Browse the repository at this point in the history
…markup (python#114152)

- Align the argument spec for fnmatch functions with the actual
  implementation.
- Update Sphinx markup to recent recommandations.
- Add link to 'iterable' glossary entry.

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
  • Loading branch information
2 people authored and aisk committed Feb 11, 2024
1 parent 25a590b commit 44a7d63
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions Doc/library/fnmatch.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ Also note that :func:`functools.lru_cache` with the *maxsize* of 32768 is used t
cache the compiled regex patterns in the following functions: :func:`fnmatch`,
:func:`fnmatchcase`, :func:`.filter`.

.. function:: fnmatch(filename, pattern)
.. function:: fnmatch(name, pat)

Test whether the *filename* string matches the *pattern* string, returning
:const:`True` or :const:`False`. Both parameters are case-normalized
Test whether the filename string *name* matches the pattern string *pat*,
returning ``True`` or ``False``. Both parameters are case-normalized
using :func:`os.path.normcase`. :func:`fnmatchcase` can be used to perform a
case-sensitive comparison, regardless of whether that's standard for the
operating system.
Expand All @@ -69,22 +69,24 @@ cache the compiled regex patterns in the following functions: :func:`fnmatch`,
print(file)


.. function:: fnmatchcase(filename, pattern)
.. function:: fnmatchcase(name, pat)

Test whether *filename* matches *pattern*, returning :const:`True` or
:const:`False`; the comparison is case-sensitive and does not apply
:func:`os.path.normcase`.
Test whether the filename string *name* matches the pattern string *pat*,
returning ``True`` or ``False``;
the comparison is case-sensitive and does not apply :func:`os.path.normcase`.


.. function:: filter(names, pattern)
.. function:: filter(names, pat)

Construct a list from those elements of the iterable *names* that match *pattern*. It is the same as
``[n for n in names if fnmatch(n, pattern)]``, but implemented more efficiently.
Construct a list from those elements of the :term:`iterable` *names*
that match pattern *pat*.
It is the same as ``[n for n in names if fnmatch(n, pat)]``,
but implemented more efficiently.


.. function:: translate(pattern)
.. function:: translate(pat)

Return the shell-style *pattern* converted to a regular expression for
Return the shell-style pattern *pat* converted to a regular expression for
using with :func:`re.match`.

Example:
Expand Down

0 comments on commit 44a7d63

Please sign in to comment.