fnmatch
— Unix 文件名模式匹配
¶
源代码: Lib/fnmatch.py
此模块提供对 Unix Shell 样式通配符的支持,这
not
与正则表达式相同 (文档化在
re
模块)。用于 Shell 样式通配符的特殊字符:
|
模式 |
含义 |
|---|---|
|
|
匹配一切 |
|
|
匹配任何单字符 |
|
|
匹配任何字符在 seq |
|
|
匹配任何字符不在 seq |
对于文字匹配,将元字符包裹在括号中。例如,
'[?]'
匹配字符
'?'
.
Note that the filename separator (
'/'
on Unix) is
not
special to this module. See module
glob
for pathname expansion (
glob
使用
filter()
to match pathname segments). Similarly, filenames starting with a period are not special for this module, and are matched by the
*
and
?
patterns.
另请注意
functools.lru_cache()
采用
maxsize
of 32768 is used to cache the compiled regex patterns in the following functions:
fnmatch()
,
fnmatchcase()
,
filter()
.
- fnmatch. fnmatch ( 名称 , pat ) ¶
-
Test whether the filename string name matches the pattern string pat ,返回
TrueorFalse. Both parameters are case-normalized usingos.path.normcase().fnmatchcase()can be used to perform a case-sensitive comparison, regardless of whether that’s standard for the operating system.This example will print all file names in the current directory with the extension
.txt:import fnmatch import os for file in os.listdir('.'): if fnmatch.fnmatch(file, '*.txt'): print(file)