码迷,mamicode.com
首页 > 编程语言 > 详细

Python——模块——fnmatch(文件名对比)

时间:2019-04-11 14:38:40      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:std   list   ted   转换   大小写   测试文件   sla   imp   目录   

一、模块作用

  fnmatch 模块主要用于文件名的比较,使用 Unix shell 使用的 glob 样式模式。

二、简单匹配

  fnmatch() 将单个文件名与模式进行比较并返回布尔值,来看它们是否匹配。当操作系统使用区分大小写的文件系统时,比较区分大小写。

  实例:模式匹配所有以 ‘fnmatch_‘ 开头和以 ‘.py‘ 结尾的文件

import fnmatch
import os
#需要匹配的文件名及后缀
patten = fnmatch_*.py
#文件所在的目录
files = os.listdir(.)
#循环匹配
for name in sorted(files):
    print(Filename: {:<25} {}.format(name, fnmatch.fnmatch(name, patten)))

**要强制进行区分大小写的比较,无论文件系统和操作系统设置如何,请使用 fnmatchcase()

三、过滤

  要测试文件名序列,使用 filter(),它返回与 pattern 参数匹配的名称列表。

import fnmatch
import os
#需要匹配的文件名及后缀
patten = fnmatch_*.py
#排序
files = list(sorted(os.listdir(.)))
fnmatch.filter(files,patten)

四、翻译模式

  在内部,fnmatch 将 glob 模式转换为正则表达式,并使用 re 模块比较名称和模式。translate() 函数是将 glob 模式转换为正则表达式的公共 API。

Python——模块——fnmatch(文件名对比)

标签:std   list   ted   转换   大小写   测试文件   sla   imp   目录   

原文地址:https://www.cnblogs.com/cxys85/p/10689330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!