fnmatch模块的使用
fnmatch模块的使用
此模块的主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格。
fnmatch比较简单就4个方法分别是:fnmatch,fnmatchcase,filter,translate

1.fnmatch
fnmatch.fnmatch(filename, pattern)
测试filename,是否符合pattern。
import fnmatch
import os
def run():
for file in os.listdir('.'): #os.listdir返回指定的文件夹包含的文件或文件夹的名字的列表
if fnmatch.fnmatch(file, '*.py'): #判断是否有后缀为.py的文件,*代表文件名长度格式不限制。
print(file)
if __name__ == '__main__':
run()
2.fnmatchcase
fnmatch.fnmatchcase(filename, pattern)
和fnmatch()类似,只是fnmatchcase 强制区分大小写匹配,不管文件系统是否区分。
print(fnmatch.fnmatchcase("text.py","text.*")) #True
print(fnmatch.fnmatchcase("Text.py", "text.*")) # False
print(fnmatch.fnmatchcase("Text.Py", "*.py")) # False
print(fnmatch.fnmatchcase("Text.Py", "*.Py")) # True
3.filter
fnmatch.filter(names, pattern)
实现列表特殊字符的过滤或筛选,返回符合匹配模式的字符列表,它的作用类似
[n for n in names if fnmatch(n, pattern)]
filelist=["a.text","b.jpg","c.png","d.py",'e.text',"sss.py"]
print(fnmatch.filter(filelist,"?.py")) #匹配前面是一个字符的.py文件
输出:d.py
4.translate
fnmatch.translate(pattern):
翻译模式, fnmatch将这种全局模式转换成一个正则式, 然后使用re模块来比较名字和模式。 translate() 函数是一个公共API用于将全局模式转换成正则式
regex = fnmatch.translate('[f,d,d,d,g,h].txt')#将[f,d,d,d,g,h].txt转为正则匹配的模式
print("regex",regex)#(?s:[f,d,d,d,g,h]\.txt)\Z
#\Z:匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串。
reobj = re.compile(regex)#生成re匹配模块
print(reobj.match ('f.txt'))#返回一个匹配对象
#<_sre.SRE_Match object; span=(0, 5), match='f.txt'>
fnmatch模块的使用的更多相关文章
- python的os模块fnmatch模块介绍
一.先介绍一下os模块 import os print(os.getcwd()) # E:\python\test\python_models # 获取当前的目录 print(os.listdir(& ...
- 【转】fnmatch模块的使用——主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格
[转]fnmatch模块的使用 fnmatch模块的使用 此模块的主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格.fnmatch比较简单就4个方法分别是:fnmatch,fnm ...
- Python之获取文件夹中文件列表以及glob与fnmatch模块的使用
获取文件夹中的文件列表 print(os.listdir("../secondPackage")) # ['__init__.py', 'secondCookBook.py', ' ...
- Python中fnmatch模块的使用
fnmatch()函数匹配能力介于简单的字符串方法和强大的正则表达式之间,如果在数据处理操作中只需要简单的通配符就能完成的时候,这通常是一个比较合理的方案.此模块的主要作用是文件名称的匹配,并且匹配的 ...
- 平时的笔记02:处理fnmatch模块
# Copyright 2006 Joe Wreschnig## This program is free software; you can redistribute it and/or modif ...
- Python——模块——fnmatch(文件名对比)
一.模块作用 fnmatch 模块主要用于文件名的比较,使用 Unix shell 使用的 glob 样式模式. 二.简单匹配 fnmatch() 将单个文件名与模式进行比较并返回布尔值,来看它们是否 ...
- 【转】Python模块学习 - fnmatch & glob
[转]Python模块学习 - fnmatch & glob 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特 ...
- Python模块学习 - fnmatch & glob
介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特定的文件就能满足需求,如果需要更加灵活的字符串匹配,就没有办法了,这里 ...
- python 各模块
01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...
随机推荐
- 【BZOJ1802】[AHOI2009]checker(动态规划)
[BZOJ1802][AHOI2009]checker(动态规划) 题面 BZOJ 洛谷 题解 首先自己观察一波,发现如果有相邻两个格子都是红色的话,那么显然可以在任意位置都存在一个跳棋.可以让两个位 ...
- 用DotNetOpenAuth实现基于OAuth 2.0的web api授权 (一)Getting Start
1. 下载 源码下载 2. build solution,创建虚拟目录: 右健MyContatacts/MyPromo项目,选择Properties,点击左边的Web,点击 Create Virtua ...
- Eclipse 插件Maven在使用 add dependency,找不到包,解决办法
通过右键单击pom.xml文件选择maven –> add dependency 或者是打开pom.xml文件,选择dependencies –>add 时,搜索不到依赖的jar包,解决方 ...
- BFS求解迷宫的最短路径问题
题目:给定一个大小为N*M的迷宫,迷宫由通道('.')和墙壁('#')组成,其中通道S表示起点,通道G表示终点,每一步移动可以达到上下左右中不是墙壁的位置.试求出起点到终点的最小步数.(本题假定迷宫是 ...
- FinalHttp的简要介绍与使用
http://blog.csdn.net/zhaokaiqiang1992/article/details/30291259?utm_source=tuicool 在之前的一篇文章中,我们简单的介绍了 ...
- Centos6.5 防火墙开放端口
0. 说明 centos6.5处于对安全的考虑,严格控制网络进去.所以在安装mysql或者使用tomcat,需要开放端口3306或8080. 通常的解决办法有两个.一个是直接关闭防火墙(非常不推荐): ...
- 网络编程——socket(四十三)
http://www.cnblogs.com/linhaifeng/articles/6129246.html#_label7 http://www.cnblogs.com/linhaifeng/ar ...
- react与fetch
JavaScript 中的 ajax 很早之前就有一个诟病----复杂业务下的 callback 嵌套的问题.promise 正是 js 中解决这一问题的钥匙. 接下来我们在react项目中应用到的f ...
- 原生JS和JQ窗口定位属性对照表
位置 javascript jquery 兼容性 窗口位置离屏幕左偏移 var leftPos = (typeof window.screenLeft == "number") ? ...
- python备份网站,并删除指定日期文件
#!/usr/bin/python# Filename: backup_ver1.pyimport osimport timeimport datetime# 1. The files and dir ...