summaryrefslogtreecommitdiffstats
path: root/Doc/library
diff options
context:
space:
mode:
authorBénédikt Tran <10796600+picnixz@users.noreply.github.com>2025-01-13 10:21:22 (GMT)
committerGitHub <noreply@github.com>2025-01-13 10:21:22 (GMT)
commit29fe8072cf404b891dde9c1d415095edddbe19de (patch)
treef3f2bc64494b102473ebd0f46553149e32407615 /Doc/library
parentb00e1254fc00941bf91e41138940e73fd22e1cbf (diff)
downloadcpython-29fe8072cf404b891dde9c1d415095edddbe19de.zip
cpython-29fe8072cf404b891dde9c1d415095edddbe19de.tar.gz
cpython-29fe8072cf404b891dde9c1d415095edddbe19de.tar.bz2
gh-123345: improve `fnmatch` docs (#123346)
Diffstat (limited to 'Doc/library')
-rw-r--r--Doc/library/fnmatch.rst18
1 files changed, 12 insertions, 6 deletions
diff --git a/Doc/library/fnmatch.rst b/Doc/library/fnmatch.rst
index fda4492..5cb4777 100644
--- a/Doc/library/fnmatch.rst
+++ b/Doc/library/fnmatch.rst
@@ -46,9 +46,15 @@ module. See module :mod:`glob` for pathname expansion (:mod:`glob` uses
a period are not special for this module, and are matched by the ``*`` and ``?``
patterns.
-Also note that :func:`functools.lru_cache` with the *maxsize* of 32768 is used to
-cache the compiled regex patterns in the following functions: :func:`fnmatch`,
-:func:`fnmatchcase`, :func:`.filter`.
+Unless stated otherwise, "filename string" and "pattern string" either refer to
+:class:`str` or ``ISO-8859-1`` encoded :class:`bytes` objects. Note that the
+functions documented below do not allow to mix a :class:`!bytes` pattern with
+a :class:`!str` filename, and vice-versa.
+
+Finally, note that :func:`functools.lru_cache` with a *maxsize* of 32768
+is used to cache the (typed) compiled regex patterns in the following
+functions: :func:`fnmatch`, :func:`fnmatchcase`, :func:`.filter`.
+
.. function:: fnmatch(name, pat)
@@ -78,8 +84,8 @@ cache the compiled regex patterns in the following functions: :func:`fnmatch`,
.. function:: filter(names, pat)
- Construct a list from those elements of the :term:`iterable` *names*
- that match pattern *pat*.
+ Construct a list from those elements of the :term:`iterable` of filename
+ strings *names* that match the pattern string *pat*.
It is the same as ``[n for n in names if fnmatch(n, pat)]``,
but implemented more efficiently.
@@ -87,7 +93,7 @@ cache the compiled regex patterns in the following functions: :func:`fnmatch`,
.. function:: translate(pat)
Return the shell-style pattern *pat* converted to a regular expression for
- using with :func:`re.match`.
+ using with :func:`re.match`. The pattern is expected to be a :class:`str`.
Example: