Python 标准库的 glob 模块支持查询匹配指定模式的文件或目录。这里的模式使用的并不是正则表达式,而是通过通配符来匹配的 Unix 风格的路径名扩展。

支持的通配符:

通配符 说明
*  匹配任意个字符
?  匹配一个字符
[]  匹配括号间的任一字符,可以使用 - 表示范围 
\  转义字符,如用 \? 匹配 ?

假设现在有一个名为 dir 的目录,该目录及其子目录的结构如下:

├── dir
│   ├── db.conf
│   ├── dir1
│   │   ├── hello-a.xml
│   │   ├── hello-b.xml
│   │   └── hello-d.xml
│   ├── dir2
│   │   ├── 2014
│   │   └── 2015
│   │   ├── 01.log
│   │   ├── 02.log
│   │   └── 03.log
│   ├── f1.txt
│   ├── f2.txt
│   ├── f3.txt
│   ├── foo.txt
│   └── log.conf
├── hello.py

glob_demo.py

import glob

print glob.glob('dir/*')
# ['dir/f2.txt', 'dir/dir2', 'dir/f3.txt', 'dir/f1.txt', 'dir/foo.txt', 'dir/dir1', 'dir/db.conf', 'dir/log.conf'] print glob.glob('dir/dir1/hello-[a-c].xml')
# ['dir/dir1/hello-b.xml', 'dir/dir1/hello-a.xml'] print glob.glob('dir/dir2/*/[0-9]*.log')
# ['dir/dir2/2015/03.log', 'dir/dir2/2015/01.log', 'dir/dir2/2015/02.log'] print glob.glob('dir/f?.txt')
# ['dir/f2.txt', 'dir/f3.txt', 'dir/f1.txt'] print glob.glob('dir/*.conf')
# ['dir/db.conf', 'dir/log.conf']

Python(2.7.6) glob - 匹配指定模式的文件的更多相关文章

  1. Python中使用中文正则表达式匹配指定的中文字符串

    业务场景: 从中文字句中匹配出指定的中文子字符串 .这样的情况我在工作中遇到非常多, 特梳理总结如下. 难点: 处理GBK和utf8之类的字符编码, 同时正则匹配Pattern中包含汉字,要汉字正常发 ...

  2. 【原创】IBM Websphere 报错:JSPG0120E: 为 pageEncoding 属性和匹配 URI 模式的配置元素指定不同的值是非法的。

    websphere中间件,在打开一个jsp页面时报: IBM Websphere 报错:JSPG0120E: 为 pageEncoding 属性和匹配 URI 模式的配置元素指定不同的值是非法的. . ...

  3. 【转】Python模块学习 - fnmatch & glob

    [转]Python模块学习 - fnmatch & glob 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特 ...

  4. python 小技巧(glob,guid,序列化,压缩字符,有序字典,sorted函数,分片)

    1.glob模块 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:”*”, “?”, “[]”.”* ...

  5. python标准库之glob介绍

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

  6. perl + 匹配前导模式一次或者多次

    Vsftp:/data01/mysqllog/binlog# cat a2.pl $_="aaaa@[2]sasas"; if ($_ =~/.*?(\@\[[0-9]+\]).* ...

  7. 【python】python中 简单的 glob模块

    glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"*", "?&quo ...

  8. 【转】fnmatch模块的使用——主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格

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

  9. glob获取指定目录下的东西+更改工作目录

    一:不更改工作目录 import glob path = 'image/imgs/*.jpg' # 正则匹配 指定路径 file_path = glob.glob(path) # 即可获取所有jpg的 ...

随机推荐

  1. Bzoj 2006: [NOI2010]超级钢琴 堆,ST表

    2006: [NOI2010]超级钢琴 Time Limit: 20 Sec  Memory Limit: 552 MBSubmit: 2222  Solved: 1082[Submit][Statu ...

  2. HW7.9

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  3. Windows命令行使用FTP

    1.系统环境 FTP客户端:Windows7旗舰版,管理员权限命令行: FTP服务端:CentOS 6.5,VSFTP,端口 21(默认) 2.登陆FTP 在命令行下输入 ftp,出现 ftp> ...

  4. HDU-4689 Derangement DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4689 题意:初始序列1,2...n,求所有满足与初始序列规定大小的错排数目.. 这道题目感觉很不错~ ...

  5. HDU-4665 Unshuffle 搜索 | 2-SAT

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4665 本题的2-SAT建图颇为复杂,有时间再来填坑(自己写的一直挂着,标程建图太复杂了)...然后用暴 ...

  6. SQL Server Cpu 100% 的常见原因及优化

    SQL Server Cpu 100% 的情况并不太常见,一般引起 SQL Server 产生性能问题的,都是 阻塞.连接数.IO 磁盘等.所以,一般SQL Server 的使用率都是比较低的.但是, ...

  7. Linux shell 常用

    使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...

  8. Java文件分割

    package FileDemo; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...

  9. poj 4045 (树形DP)

    先选一点为根节点找出所有父节点i到下面所有点距离和dp[i],该父节点下面有多少个点Node[i]. 然后求出所有节点的所有非子节点到该点的距离dp1[v]+=(dp1[u]+(dp[u]-dp[v] ...

  10. 使用Dropbox提高个人数据管理效率

    Dropbox 应该大家都不陌生,其在云存储阵营中独树一帜,通俗的说它是提供多终端和云之间的数据同步服务,而就其本质来说它无非是将数据的采集.存储和分发三个关节打通,整合成统一服务对外提供.这就好比只 ...