diff options
author | Bénédikt Tran <10796600+picnixz@users.noreply.github.com> | 2025-01-13 10:21:22 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-13 10:21:22 (GMT) |
commit | 29fe8072cf404b891dde9c1d415095edddbe19de (patch) | |
tree | f3f2bc64494b102473ebd0f46553149e32407615 /Doc/library | |
parent | b00e1254fc00941bf91e41138940e73fd22e1cbf (diff) | |
download | cpython-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.rst | 18 |
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: |