Python: glob匹配文件的操作


Posted in Python onDecember 11, 2020

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 Module of the Week

补充知识:Python glob 递归遍历匹配文件;os.makedirs()递归创建目录

Glob递归遍历匹配文件

简约版

在python中,glob模块用来查找匹配文件

常用的匹配规则:

: 匹配所所有

? : 匹配一个字符

如果没有匹配的,glob.glob(path)将返回一个空的list:[]

from glob import glob
file_path = "/home/lihuiyu/Code/results_S2_W20040/*/*.pth"
print(glob(file_path))

排序版

我喜欢偷懒,所以,Coding能解决的问题一般不会人工解决;

我喜欢整洁,所以,Coding苛求完美,结果奢求整齐划一。

import re
from glob import glob
def atoi(s):
 return int(s) if s.isdigit() else s
def natural_keys(text):
 return [atoi(c) for c in re.split('(\d+)', text)]
 
file_path = "/home/lihuiyu/Code/results_S2_W20040/*/*.pth"
file_list = glob(file_path)
file_list.sort(key=natural_keys)
for name in file_list:
  print(name)

os.makedirs()递归创建目录

os.mkdir()创建指定的目录,但如果其上一级目录不存在,则无法创建成功。

os.makedirs()实现递归创建目录的功能。

以上这篇Python: glob匹配文件的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的并发编程实例
Jul 07 Python
PyMongo安装使用笔记
Apr 27 Python
JPype实现在python中调用JAVA的实例
Jul 19 Python
机器学习经典算法-logistic回归代码详解
Dec 22 Python
Python之读取TXT文件的方法小结
Apr 27 Python
python3中zip()函数使用详解
Jun 29 Python
解决pycharm安装后代码区不能编辑的问题
Oct 28 Python
详解python中的Turtle函数库
Nov 19 Python
Django之form组件自动校验数据实现
Jan 14 Python
Python request操作步骤及代码实例
Apr 13 Python
如何用python绘制雷达图
Apr 24 Python
如何通过一篇文章了解Python中的生成器
Apr 02 Python
Python Socket多线程并发原理及实现
Dec 11 #Python
python 实现Harris角点检测算法
Dec 11 #Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
Dec 11 #Python
Python3 用matplotlib绘制sigmoid函数的案例
Dec 11 #Python
python 基于opencv 实现一个鼠标绘图小程序
Dec 11 #Python
Python 用__new__方法实现单例的操作
Dec 11 #Python
python实现图像高斯金字塔的示例代码
Dec 11 #Python
You might like
用PHP实现小型站点广告管理
2006/10/09 PHP
用PHP实现ODBC数据分页显示一例
2006/10/09 PHP
php 图片上传类代码
2009/07/17 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
php共享内存段示例分享
2014/01/20 PHP
10个php函数实用却不常见
2015/10/13 PHP
简单实现php上传文件功能
2017/09/21 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
php解决crontab定时任务不能写入文件问题的方法分析
2019/09/16 PHP
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
Angular 1.x个人使用的经验小结
2017/07/19 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
javascript回调函数详解
2018/02/06 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
详解Python 切片语法
2019/06/10 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
2019/08/31 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
银行实习生自我鉴定范文
2013/09/19 职场文书
公司开业庆典主持词
2014/03/21 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
酒店节能降耗方案
2014/05/08 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
公司管理制度范本
2015/08/03 职场文书