*j$ 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/alt/python313/lib64/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 &