浅析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 相关文章推荐
pymongo实现多结果进行多列排序的方法
May 16 Python
python框架django基础指南
Sep 08 Python
详解Python中类的定义与使用
Apr 11 Python
python 创建一个空dataframe 然后添加行数据的实例
Jun 07 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
python实现根据指定字符截取对应的行的内容方法
Oct 23 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
Oct 25 Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
Dec 04 Python
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
Apr 13 Python
Pygame Draw绘图函数的具体使用
Nov 17 Python
Python+tkinter实现高清图片保存
Mar 13 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
强烈推荐:php.ini中文版(2)
2006/10/09 PHP
php addslashes和mysql_real_escape_string
2010/01/24 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
JavaScript基本语法_动力节点Java学院整理
2017/06/26 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
2020/11/18 Vue.js
PHP webshell检查工具 python实现代码
2009/09/15 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
canvas三角函数模拟水波效果的示例代码
2018/07/03 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
商务会议邀请函
2014/01/09 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
信仰心得体会
2014/09/05 职场文书
房屋转让协议书
2014/10/18 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
详解如何使用Nginx解决跨域问题
2022/05/06 Servers