python 路径遍历神库 glob

python标准库之glob介绍

glob 文件名模式匹配,不用遍历整个目录判断每个文件是不是符合。
查找文件只用到三个匹配符:”*”, “?”, “[]”。

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

1、通配符

  • 星号(*)匹配零个或多个字符
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
  • 列出子目录中的文件,必须在模式中包括子目录名:
import glob

#用子目录查询文件 
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)</pre>

输出

Named explicitly:
        dir/subdir/subfile.txt
Named with wildcard:
        dir/subdir/subfile.txt
  • 获取指定目录下的所有图片
import glob
print(glob.glob(r"C:/Users/zhf/Desktop/flower/flower_photos/daisy/*.jpg"))

输出列表

['C:/Users/zhf/Desktop/flower/flower_photos/daisy\\100080576_f52e8ee070_n.jpg',
...,
'C:/Users/zhf/Desktop/flower/flower_photos/daisy\\10140303196_b88d3d6cec.jpg']

获取目录下所有文件

import glob
glob.glob("*")

注意,也可以使用iglob,其与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而glob.iglob一次只获取一个匹配路径。
2、单个字符通配符
用问号(?)匹配任何单个的字符。

import glob
for name in glob.glob('dir/file?.txt'):
    print (name)

输出

dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt

3、字符范围

当需要匹配一个特定的字符,可以使用一个范围

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

输出

dir/file1.txt
dir/file2.txt

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 3,461评论 0 5
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 5,714评论 0 2
  • 程序流程图设计:先给出开始和结束框图,在中间按照顺序设计加入大致的程序流程框图,然后再进行完善和补充(增删和修改)...
    王诗翔阅读 459评论 0 2
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 3,490评论 0 11
  • 炎热的夏天 浮动的燥热 有没有清凉的去所
    叶小达阅读 39评论 0 1
  • 下午带宝宝到医生办公室咨询病情,再次回到病房发现隔壁床位转进另一个小朋友——重症肺炎。虽然跟我们是临床,但医...
    明子mingzi阅读 376评论 0 8
  • 荣宁二府好热闹, 人情冷暖见分晓。 姥姥虽土真好人, 宝黛无憾真知己。
    枞阳徐少阅读 72评论 0 0
  • 不要在意别人在背后怎么看你说你,因为这些言语改变不了事实,却可能搅乱你的心。心如果乱了,一切就都乱了。理解你的...
    心中有片云彩阅读 66评论 0 2
  • 今天我和妈妈去吃牛排,妈妈给我点了一个儿童套餐。有牛排、薯条、还有一杯冰淇淋球,还有一碗健康的玉米汤,一会儿...
    郝一鼎阅读 192评论 0 0