Python(2.7.6) glob - 匹配指定模式的文件

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‘]
时间: 2024-10-11 12:07:33

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

【转载】Python使用中文正则表达式匹配指定中文字符串的方法示例

本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法.分享给大家供大家参考,具体如下: 业务场景: 从中文字句中匹配出指定的中文子字符串 .这样的情况我在工作中遇到非常多, 特梳理总结如下. 难点: 处理GBK和utf8之类的字符编码, 同时正则匹配Pattern中包含汉字,要汉字正常发挥作用,必须非常谨慎.推荐最好统一为utf8编码,如果不是这种最优情况,也有酌情处理. 往往一个具有普适性的正则表达式会简化程序和代码的处理,使过程简洁和事半功倍,这往往是高手和菜鸟最显著的差别.

Python模块学习笔记— —glob

glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"", "?", "[]".""匹配0个或多个字符:"?"匹配单个字符:"[]"匹配指定范围内的字符,如:[0-9]匹配数字. 方法 glob.glob() 返回所有匹配的文件路径列表.它只有一个参数pathname,定义了文件路径匹配规则,

python处理文本文件,生成指定格式的文件

import os import sys import string #以指定模式打开指定文件,获取文件句柄 def getFileIns(filePath,model): print("打开文件") print(filePath) print(model) return open(filePath,model) #获取需要处理的文件 def getProcFile(path): return os.listdir(path) #判断是否满足某个条件,如果满足则执行 def isTru

grep, egrep, fgrep - 打印匹配给定模式的行

总览 SYNOPSIS grep [options] PATTERN [FILE...] grep [options] [-e PATTERN | -f FILE] [FILE...] 描述 DESCRIPTION Grep 搜索以 FILE 命名的文件输入 (或者是标准输入,如果没有指定文件名,或者给出的文件名是 - 的话),寻找含有与给定的模式 PATTERN 相匹配的内容的行.默认情况下, grep 将把含有匹配内容的行打印出来. 另外,也可以使用两个变种程序 egrep 和 fgrep

php匹配指定标签的内容

php匹配指定div内容,在用php编写采集程序的时候,抓取到的网页数据有时候我们只需要一小段标签内容,怎么才能冲html代码中提取出来呢,这里提供一个函数示例,实现php匹配任意html标签内的所有内容: /** * 匹配任意id的html标签内容 *  */ function getWebTag($tag_id,$tag='div',$data=false){              $charset_pos = stripos($data,'charset');         if($

如何使用grep查询出不包含某匹配模式的文件

使用grep -c 可以统计每个文件匹配模式的数量,通过这种方法可以抽取出不匹配模式的那些文件,因为不包含匹配模式的文件将显示为file:0 vgrep() {    case $# in         0|1) echo "Usage: `basename $0` pattern file [files...]" 1>&2             ;;         *) pattern = $1             shift             grep

云计算必须匹配业务模式

在三网融合的背景下,考虑到移动互联网给业务带来的冲击,两年前,北京电视台开始考虑构建一个能够匹配自身业务发展的云基础支撑平台.2014年1月8日,北京网络广播电视台BRTN正式开播,云计算开始在广电行业开花结果.适配业务需求 北京电视台新媒体中心副主任赵志成认为,能够匹配全媒体业务的云计算解决之道必须包括以下五个方面内容:共享的资源池.按需的自服务.普遍的网络访问能力.可计量的服务和快速伸缩能力.北京网络广播电视台BRTN正是按照这一原则构建了云平台系统. "媒体处于一个快速变化的应用环境,我们

Python 学习笔记 -- 文件的打开模式和文件的对象方法

1 #在Python中,如果想要操作一个文件,必须先得到文件的对象. 2 #实例一: 3 print("-------------------------------------------------------------------") 4 file = open("test.txt","wt") #这里我们使用open()函数来获取对象. 5 data = "这是一个用测试的文件!" 6 file.write(data

python logging模块打印log到指定文件

可能我们经常会使用print来输出信息到窗口,但当我们有很多个py文件需要运行,项目比 较庞大的到时候,print简直就是太low了点了.那么我们可以使用强大的logging模块,把 输出到指定的本地pc某个路径的文件中. 一. logging的框架1. Loggers: 可供程序直接调用的接口,app通过调用提供的api来记录日志2. Handlers: 决定将日志记录分配至正确的目的地3. Filters:对日志信息进行过滤, 提供更细粒度的日志是否输出的判断4. Formatters: 制