合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
### 导航 - [索引](../genindex.xhtml "总目录") - [模块](../py-modindex.xhtml "Python 模块索引") | - [下一页](linecache.xhtml "linecache --- Random access to text lines") | - [上一页](glob.xhtml "glob --- Unix style pathname pattern expansion") | - ![](https://box.kancloud.cn/a721fc7ec672275e257bbbfde49a4d4e_16x16.png) - [Python](https://www.python.org/) » - zh\_CN 3.7.3 [文档](../index.xhtml) » - [Python 标准库](index.xhtml) » - [文件和目录访问](filesys.xhtml) » - $('.inline-search').show(0); | # [`fnmatch`](#module-fnmatch "fnmatch: Unix shell style filename pattern matching.") --- Unix filename pattern matching **Source code:** [Lib/fnmatch.py](https://github.com/python/cpython/tree/3.7/Lib/fnmatch.py) \[https://github.com/python/cpython/tree/3.7/Lib/fnmatch.py\] - - - - - - This module provides support for Unix shell-style wildcards, which are *not* the same as regular expressions (which are documented in the [`re`](re.xhtml#module-re "re: Regular expression operations.") module). The special characters used in shell-style wildcards are: Pattern 意义 `*` matches everything `?` matches any single character `[seq]` matches any character in *seq* `[!seq]` matches any character not in *seq* For a literal match, wrap the meta-characters in brackets. For example, `'[?]'` matches the character `'?'`. Note that the filename separator (`'/'` on Unix) is *not* special to this module. See module [`glob`](glob.xhtml#module-glob "glob: Unix shell style pathname pattern expansion.") for pathname expansion ([`glob`](glob.xhtml#module-glob "glob: Unix shell style pathname pattern expansion.") uses [`filter()`](#fnmatch.filter "fnmatch.filter") to match pathname segments). Similarly, filenames starting with a period are not special for this module, and are matched by the `*` and `?`patterns. `fnmatch.``fnmatch`(*filename*, *pattern*)Test whether the *filename* string matches the *pattern* string, returning [`True`](constants.xhtml#True "True") or [`False`](constants.xhtml#False "False"). Both parameters are case-normalized using [`os.path.normcase()`](os.path.xhtml#os.path.normcase "os.path.normcase"). [`fnmatchcase()`](#fnmatch.fnmatchcase "fnmatch.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) ``` `fnmatch.``fnmatchcase`(*filename*, *pattern*)Test whether *filename* matches *pattern*, returning [`True`](constants.xhtml#True "True") or [`False`](constants.xhtml#False "False"); the comparison is case-sensitive and does not apply [`os.path.normcase()`](os.path.xhtml#os.path.normcase "os.path.normcase"). `fnmatch.``filter`(*names*, *pattern*)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. `fnmatch.``translate`(*pattern*)Return the shell-style *pattern* converted to a regular expression for using with [`re.match()`](re.xhtml#re.match "re.match"). 示例: ``` >>> import fnmatch, re >>> >>> regex = fnmatch.translate('*.txt') >>> regex '(?s:.*\\.txt)\\Z' >>> reobj = re.compile(regex) >>> reobj.match('foobar.txt') <re.Match object; span=(0, 10), match='foobar.txt'> ``` 参见 Module [`glob`](glob.xhtml#module-glob "glob: Unix shell style pathname pattern expansion.")Unix shell-style path expansion. ### 导航 - [索引](../genindex.xhtml "总目录") - [模块](../py-modindex.xhtml "Python 模块索引") | - [下一页](linecache.xhtml "linecache --- Random access to text lines") | - [上一页](glob.xhtml "glob --- Unix style pathname pattern expansion") | - ![](https://box.kancloud.cn/a721fc7ec672275e257bbbfde49a4d4e_16x16.png) - [Python](https://www.python.org/) » - zh\_CN 3.7.3 [文档](../index.xhtml) » - [Python 标准库](index.xhtml) » - [文件和目录访问](filesys.xhtml) » - $('.inline-search').show(0); | © [版权所有](../copyright.xhtml) 2001-2019, Python Software Foundation. Python 软件基金会是一个非盈利组织。 [请捐助。](https://www.python.org/psf/donations/) 最后更新于 5月 21, 2019. [发现了问题](../bugs.xhtml)? 使用[Sphinx](http://sphinx.pocoo.org/)1.8.4 创建。