e$ S r SSKrSSKrSSKrSSKr/ SQrS r\R " SSS9S 5 rS r S
r
S rS rS
r
g)a Filename matching with shell patterns.
fnmatch(FILENAME, PATTERN) matches according to the local convention.
fnmatchcase(FILENAME, PATTERN) always takes case in account.
The functions operate by translating the pattern into a regular
expression. They cache the compiled regular expressions for speed.
The function translate(PATTERN) returns a regular expression
corresponding to PATTERN. (It does not compile it.)
N)filterfnmatchfnmatchcase translatec [ R R U 5 n [ R R U5 n[ X5 $ )a Test whether FILENAME matches PATTERN.
Patterns are Unix shell style:
* matches everything
? matches any single character
[seq] matches any character in seq
[!seq] matches any char not in seq
An initial period in FILENAME is not special.
Both FILENAME and PATTERN are first case-normalized
if the operating system requires it.
If you don't want this, use fnmatchcase(FILENAME, PATTERN).
)ospathnormcaser )namepats -/opt/imh/python3.13/lib/python3.13/fnmatch.pyr r s7 77D!D
''
3
Ct!! i T)maxsizetypedc [ U [ 5 ( a$ [ U S5 n[ U5 n[ US5 nO[ U 5 n[ R
" U5 R $ )Nz
ISO-8859-1)
isinstancebytesstrr recompilematch)r pat_strres_strress r
_compile_patternr &