參考:

http://python.jobbole.com/81552/:Python模块学习:glob文件路径查找

http://blog.csdn.net/suiyunonghen/article/details/4517103:python中的一个好用的文件名称操作模块glob

https://docs.python.org/2/library/glob.html:10.7. glob - Unix style pathname pattern expansion

https://docs.python.org/2/library/fnmatch.html#module-fnmatch:10.8. fnmatch - Unix filename pattern matching

#################################################################3

測试集文件分布情况:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

3##############################################################3

本人glob源代码位置:/usr/lib/python2.7/glob.py

函数名:glob

參数名:pathname - 路径名(能够使用相对路径或绝对路径)

功能:返回一个列表。存储全部匹配你參数名的文件路径(当你使用相对路径时,文件路径为相对路径;当你使用绝对路径时,文件路径为绝对路径)

note:查找的范围仅在路径名所在文件夹

路径名必须使用通配符。只是仅仅有三种(*/?/[])。*代表全部文件,?代表一个字符,[]表示想要匹配的多个字符(比方。[0-9]表示匹配数字0-9)

查找当前文件夹下全部文件和文件夹:

note:由上图可知,仅提供路径并不会得到不论什么结果

查找当前文件夹下的txt文件:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

已知測试集共同拥有三层

查找第二层的全部txt文件:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

函数iglob(pathname)功能和glob类似,仅仅只是iglob返回的是迭代器。查看源代码可知。两个函数事实上一模一样

def glob(pathname):
"""Return a list of paths matching a pathname pattern. The pattern may contain simple shell-style wildcards a la
fnmatch. However, unlike fnmatch, filenames starting with a
dot are special cases that are not matched by '*' and '?'
patterns. """
return list(iglob(pathname))

###########################################################################33

本人fnmatch源代码位置:/usr/lib/python2.7/fnmatch.py

共同拥有四个函数:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

函数filter:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

返回列表names中符合模式pat的子集

函数fnmatch

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

測试name是否符合pat的模式

pat格式符合Unix文本类型:

*-表示全部

?-表示一个单一字符

[seq]-表示符合[]内的序列的字符

[!seq]-表示不符合[]内的序列的字符

查看源代码知,该函数功能和fnmatcncase一样:

def fnmatch(name, pat):
"""Test whether FILENAME matches PATTERN. Patterns are Unix shell style: * matches everything
? matches any single character
[seq] matches any character in seq
[!seq] matches any char not in seq An initial period in FILENAME is not special.
Both FILENAME and PATTERN are first case-normalized
if the operating system requires it.
If you don't want this, use fnmatchcase(FILENAME, PATTERN).
""" import os
name = os.path.normcase(name)
pat = os.path.normcase(pat)
return fnmatchcase(name, pat)

函数fnmatchcase

没有规范化參数。只推断文件名称是否匹配模式符。包含大写和小写

note:參数均为单个字符串

python glob fnmatch 用于文件查找操作的更多相关文章

  1. 记录我的 python 学习历程-Day08 文件的操作

    文件操作的初识 用 python 代码对文件进行各种操作. 基本构成: 文件路径:path 打开方式:读.写.追加.读写.写读-- 编码方式:utf-8 / gbk / gb2312-- f = op ...

  2. Python实现单词查询&文件查找

    最近学C++ Primer,做到第十二章有个习题.要求针对英文文本,对于用户想搜索的单词,打印出该单词在文本中出现的总次数,单词所出现行号及对应的行内容:单词在一行内出现多次,只打印该行一次.C++的 ...

  3. 《转》Python学习(15)-对文件的操作(二)

    转自 http://www.cnblogs.com/BeginMan/p/3169020.html 一.文件系统 从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进 ...

  4. Python学习日记之文件读取操作

    Python内置了文件读写的函数open,read 用法示例: open('/home/root/files.txt ') 在打开文件后,操作完成后可以使用close()关闭文件,但比较好的文件读写方 ...

  5. centos 7下查找大文件、大目录和常见文件查找操作

    根据园子 潇湘隐者的文章 <Linux如何查找大文件或目录总结>结合实际运维需要整理出常用命令 目标文件和目录查找主要使用 find 命令 结合 xargs (给命令传递参数的一个过滤器, ...

  6. python里有意思的文件查找glob模块

    python标准库之glob介绍 glob 文件名模式匹配,不用遍历整个目录判断每个文件是不是符合. 1.通配符 星号(*)匹配零个或多个字符 import glob for name in glob ...

  7. 《转》Python学习(14)-对文件的操作(一)

    转自 http://www.cnblogs.com/BeginMan/p/3166644.html 一.文件对象 我理解的文件对象就是一个接口,通过这个接口对文件进行相关操作. <Python ...

  8. python 实现多层目录文件查找

    本文针对多层目录下文件的查找. 利用 os模块的基本操作,并利用递归的思想实现了目录多层查找. 代码如下: import os #dir_name: 处理文件的起始目录 def count_file( ...

  9. Python之路 day2 文件基础操作

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa ''' #f,文件句柄;模式 a : append 追加文件内容 f = open( ...

随机推荐

  1. javascript中的变量、作用域和内存问题

    1.变量 变量的值的类型:基本类型值和引用类型值两种. 基本类型:Undefined.Null.Boolean.String.Number,这五类基本数据类型的值在内存中占有固定大小的空间,因此保存在 ...

  2. [深度学习]实现一个博弈型的AI,从五子棋开始(1)

    好久没有写过博客了,多久,大概8年???最近重新把写作这事儿捡起来……最近在折腾AI,写个AI相关的给团队的小伙伴们看吧. 搞了这么多年的机器学习,从分类到聚类,从朴素贝叶斯到SVM,从神经网络到深度 ...

  3. Node.js初探之GET方式传输

    Node.js初探之GET方式传输 例子:form用GET方法向后台传东西 html文件: <form action="http://localhost:8080/aaa" ...

  4. C#链接数据库增删改查的例子

    以users表为例,有三个字段,自增长的编号id,int类型:名称name,nvarchar类型,密码pwd,nvarchar类型首先在vs2005中引入using System.Data.SqlCl ...

  5. 处理ASP.NET Core中的HTML5客户端路由回退

    在使用由Angular,React,Vue等应用程序框架构建的客户端应用程序时,您总是会处理HTML5客户端路由,它将完全在浏览器中处理到页面和组件的客户端路由.几乎完全在浏览器中... HTML5客 ...

  6. 人生苦短,python是岸.

    人生苦短,python是岸. 愿付一生,应许之诚.

  7. oracle一些基本命令

    Oracle安装配置 设置四个账户及对应的密码 No. 用户名 口令 1 sys change_on_install 2 system manager 3 scott tiget 4 sh sh 上面 ...

  8. ListView ,recycleView列表带进度条

    实现上图功能有两种思路. 一:普通做法,更新item的数据,不停调用notifydatachange ; 二:各管自家刷新. 一个下载对应一个下载线程.线程持有对应item在Listview中的位置. ...

  9. SpringBoot错误求解决

    .   ____          _            __ _ _ /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \( ( )\___ | '_ | '_| | ...

  10. 万能动态库调用工具IDMA(InvokeDllMethodsAdvance)

    万能动态库调用工具IDMA 开发者:马兆瑞     QQ/微信:624762543 百度云下载链接:https://pan.baidu.com/s/1skW5W4H CSDN下载链接:http://d ...