处理检索目录中以特定扩展名结尾的所有文件的规范方法是什么,例如“所有以不区分大小写方式结尾.ext
或不区分大小写的文件?” .ext2
一种方法是使用os.listdir
和re
模块:
import re
files = os.listdir(mydir)
# match in case-insensitive way all files that end in '.ext' or '.ext2'
p = re.compile(".ext(2)?$", re.IGNORECASE)
matching_files = [os.path.join(mydir, f) for f in files if p.search(x) is not None]
glob
有没有一种更简洁的方法可以用or更简洁地做到这一点fnmatch
?令人烦恼的listdir
是,必须始终处理路径,方法是os.path.join
将目录附加到它返回的每个文件的基本名称。