Python: glob匹配文件

作者: 心智万花筒 | 来源:发表于2016-07-21 22:56 被阅读1604次

glob模块实例详解

glob的应用场景是要寻找一系列(符合特定规则)文件名。

glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。查找文件只用到三个匹配符:”*”, “?”, “[]”。

  • ”*”匹配0个或多个字符;
  • ”?”匹配单个字符;
  • ”[ ]”匹配指定范围内的字符,如:[0-9]匹配数字。

假设以下例子目录是这样的。
dir
dir/file.txt
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt
dir/subdir
dir/subdir/subfile.txt

匹配所有文件

可以用*匹配任意长度字节。glob.glob比较常用,返回一个list,也可用glob.iglob返回生成器。

import glob
for name in glob.glob('dir/*'):
    print name
dir/file.txt
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt
dir/subdir

匹配子目录文件

可以指定子目录名称,也可以用通配符代替,不显示指定。

print 'Named explicitly:'
for name in glob.glob('dir/subdir/*'):
    print '\t', name

print 'Named with wildcard:'
for name in glob.glob('dir/*/*'):
    print '\t', name
Named explicitly:
    dir/subdir/subfile.txt
Named with wildcard:
    dir/subdir/subfile.txt

单字节通配符匹配

除了*以外,还有?匹配单个字符。比如下面这个例子,匹配以file开头,以.txt结尾,中间是任一字符的文件。

for name in glob.glob('dir/file?.txt'):
    print name
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt

字符区间匹配[0-9]

比如匹配后缀前是数字的文件。

for name in glob.glob('dir/*[0-9].*'):
    print name
dir/file1.txt
dir/file2.txt

Ref:

相关文章

  • Python: glob匹配文件

    glob模块实例详解 glob的应用场景是要寻找一系列(符合特定规则)文件名。 glob模块是最简单的模块之一,内...

  • python 路径遍历神库 glob

    python标准库之glob介绍 glob 文件名模式匹配,不用遍历整个目录判断每个文件是不是符合。查找文件只用到...

  • python的glob模块

    1. glob在Python中作用 python在模块glob中定义了glob()函数,实现了对目录内容进行匹配的...

  • python 操作简记 (递归查找制定后缀文件)(list排序字

    递归查找制定后缀的文件 用到三个库 glob 是用来匹配文件路径的.比如通过glob.glob('path/*'...

  • glob

    glob匹配规则 glob主要为筛选文件 * 匹配任意 0 或多个任意字符 ? 匹配任意一个字符 [...] 若字...

  • glob表达式

    glob表达式(glob expressions)通配符: * 匹配文件路径中的0个或多个字符,但**不会匹配路径...

  • 每周一个 Python 模块 | glob

    专栏地址:每周一个 Python 模块 使用 Unix shell 规则查找与模式匹配的文件名。 尽管 glob ...

  • gulp glob:用来匹配文件路径的,不同语言下有不同的规则。【node-glob】

  • Python glob模块

    Python glob模块用于查找指定路径下,符合一定命令规则的文件,并返回文件列表。 查找文件只用到三个匹配符:...

  • 【python】glob模块

    glob模块 glob模块通配符 通配符功能*匹配0或多个字符**匹配路径下 “所有文件的名字”及“所有子目录的文...

网友评论

    本文标题:Python: glob匹配文件

    本文链接:https://www.haomeiwen.com/subject/clkmjttx.html