浅析python标准库中的glob


Posted in Python onMarch 13, 2020

 glob 文件名模式匹配,不用遍历整个目录判断每个文件是不是符合。

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)

Named explicitly:
    dir/subdir/subfile.txt
Named with wildcard:
    dir/subdir/subfile.txt

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

知识点补充:Python编程:glob模块进行文件名模式匹配

文件准备

$ mkdir tmp
$ cd tmp
$ touch file1.txt
$ touch file2.txt
$ touch file3.log
$ ls
file1.txt       file2.txt       file3.log

测试

import glob

# 使用零个或多个字符通配符 * 
glob.glob("tmp/*.txt")
Out[1]: 
['file1.txt', 'file2.txt']

# 使用单字符通配符 ?
glob.glob("tmp/file?.txt")
Out[2]: 
['file1.txt', 'file2.txt']

# 使用范围匹配
glob.glob("tmp/file[0-9].txt")
Out[3]: 
['file1.txt', 'file2.txt']

总结

到此这篇关于浅析python标准库中的glob的文章就介绍到这了,更多相关python标准库 glob内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python分支结构(switch)操作简介
Jan 17 Python
Python使用pyh生成HTML文档的方法示例
Mar 10 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 Python
python生成带有表格的图片实例
Feb 03 Python
Django 1.10以上版本 url 配置注意事项详解
Aug 05 Python
Python高级property属性用法实例分析
Nov 19 Python
python实现将一维列表转换为多维列表(numpy+reshape)
Nov 29 Python
Pyspark读取parquet数据过程解析
Mar 27 Python
python如何运行js语句
Sep 09 Python
python中把元组转换为namedtuple方法
Dec 09 Python
python实现三次密码验证的示例
Apr 29 Python
Python3标准库glob文件名模式匹配的问题
Mar 13 #Python
python编写俄罗斯方块
Mar 13 #Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
Mar 13 #Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
Mar 13 #Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 #Python
python实现俄罗斯方块游戏(改进版)
Mar 13 #Python
Python之Django自动实现html代码(下拉框,数据选择)
Mar 13 #Python
You might like
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
javascript 获取图片颜色
2009/04/05 Javascript
Js 本页面传值实现代码
2009/05/17 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
javascript+html5+css3自定义提示窗口
2017/06/21 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
WebSocket的通信过程与实现方法详解
2018/04/29 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
原生JS实现拖拽功能
2020/12/16 Javascript
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
python实现进程间通信简单实例
2014/07/23 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
查看Django和flask版本的方法
2018/05/14 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
Django操作session 的方法
2020/03/09 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
python实现密码验证合格程序的思路详解
2020/06/01 Python
python实现ping命令小程序
2020/12/28 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
Unix如何添加新的用户
2014/08/20 面试题
会计电算化专业毕业生推荐信
2013/12/24 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
redis cluster支持pipeline的实现思路
2021/06/23 Redis
python中的sys模块和os模块
2022/03/20 Python