11.8 fnmatch -- Unix filename pattern matching
This module provides support for Unix shell-style wildcards, which are not the same as regular expressions (which are documented in the re module). The special characters used in shell-style wildcards are:
Pattern | Meaning |
---|---|
* |
matches everything |
? |
matches any single character |
[seq] |
matches any character in seq |
[!seq] |
matches any character not in seq |
Note that the filename separator ('/'
on Unix) is not
special to this module. See module
glob for pathname expansion
(glob uses fnmatch() to match pathname
segments). Similarly, filenames starting with a period are
not special for this module, and are matched by the *
and
?
patterns.
- Test whether the filename string matches the pattern string, returning true or false. If the operating system is case-insensitive, then both parameters will be normalized to all lower- or upper-case before the comparison is performed. If you require a case-sensitive comparison regardless of whether that's standard for your operating system, use fnmatchcase() instead.
- Test whether filename matches pattern, returning true or false; the comparison is case-sensitive.
-
Return the subset of the list of names that match pattern.
It is the same as
[n for n in names if fnmatch(n, pattern)]
, but implemented more efficiently. New in version 2.2.
See Also:
- Unix shell-style path expansion.