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. 秒杀 ILSpy 等反编译利器 DotNet Resolver

    http://dotnetresolver.eu5.org/downloads.html DotNet Resolver is a free .NET decompiler written in C# ...

  2. 无法在Web服务器上启动调试,与Web服务器通信时出现身份验证错误

    问题描述: 我使用的是修改hosts,模拟真实网址来进行调试的.具体是这样的:我修改hosts文件,把某个域名,如www.163.com映射为127.0.0.1,然后在IIS信息管理器中,创建一个网站 ...

  3. android 的开源输入法介绍,及 自动触摸的实现方法

    输入法的开源代码见我自己的360云盘里的 openwnn-legacy-android-open-ime.tar.bz2 文件 http://www.pocketmagic.net/injecting ...

  4. ORA-01078, LRM-00123错误处理

    创建spfile时, 或者在nomount时, 出现下面的问题: SQL> create spfile from pfile; create spfile from pfile * ERROR ...

  5. hdu 4607 (树形DP)

    当时比赛的时候我们找出来只要求出树的最长的边的节点数ans,如果要访问点的个数n小于ans距离直接就是n-1 如果大于的话就是(n-ans)*2+ans-1,当时求树的直径难倒我们了,都不会树形dp ...

  6. bzoj 1064【noi2008】假面舞会

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1064 给一个有向图染色,每个点的后继必须相同,问至少&至多有多少种染色方案 sol: ...

  7. 在C#中实现软件自动升级

    在C#中实现软件自动升级 winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,本文结合实际情况,通过软件实现自动升级,弥补了这一缺陷,有较好的 ...

  8. The Woman in Red Is Seen as a Threat by Other Wom

    The Woman in Red Is Seen as a Threat by Other Wom In the 1939 film classic The Women, much is made o ...

  9. Genymotion - 强大好用高性能的 Android 模拟器 (在电脑流畅运行APK安卓软件游戏的利器)

    随着 Android 系统的应用和游戏越来越丰富,甚至有些比起Windows.Mac上的软件更加好用好玩,因此很多人都希望能在电脑上也能玩到安卓的游戏或APP. 我们曾推荐过 BlueStacks,而 ...

  10. CentOS 6.5安装TortoiseSVN svn client

    TortoiseSVN: TortoiseSVN 是 Subversion 版本号控制系统的一个免费开源client,能够超越时间的管理文件和文件夹. 文件保存在中央版本号库,除了能记住文件和文件夹的 ...