写在之前
今天的文章是介绍如何用 Python 去定位特定类型的文件,会讲到用字符串匹配文件名定位特定文件以及顺带介绍一下遍历目录树的函数,通过今天的这一部分以及之前文章讲到的文件获取属性的操作,可以做很多有意思的事情。
定位特定文件
定位特定的文件,可以使用 fnmatch 以及 glob 这两个标准库,我们下面来分别看一下。
1. 使用 fnmatch 标准库
一般的话我们想要查找特定类型的文件,可以通过字符串的前缀匹配和后缀匹配来查找,具体实例如下所示:
>>> import os
>>> [txt for txt in os.listdir('.') if txt.endswith('.txt')]
['b.txt', 'a.txt']
其实大部分的情况下这种用字符串匹配的方法来查找文件就足够可以满足需要,如果有些情况下需要更加灵活一点的字符串匹配,就可以使用 fnmatch 库,这是一个专门用来进行文件名匹配的库,支持使用通配符来进行文字匹配(比如'*','?'等)。
fnmatch 这个库很简单,只有 4 个函数:fnmatch,fnmatchcase,filter,translate:
fnmatch:判断文件名是否符合特定的模式;
fnmatchcase:判断文件名是否符合特定的模式(不区分大小写);
filter:返回输入列表中,符合特定模式的文件名列表;
translate&#x