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 25 Python
python制作爬虫爬取京东商品评论教程
Dec 16 Python
Python中Numpy mat的使用详解
May 24 Python
python @classmethod 的使用场合详解
Aug 23 Python
python计算n的阶乘的方法代码
Oct 25 Python
pyftplib中文乱码问题解决方案
Jan 11 Python
Python Django view 两种return的实现方式
Mar 16 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
使用python无账号无限制获取企查查信息的实例代码
Apr 17 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 Python
python之np.argmax()及对axis=0或者1的理解
Jun 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 删除无限级目录与文件代码共享
2008/11/22 PHP
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
一个js封装的不错的选项卡效果代码
2008/02/15 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
Js与Jq 获取页面元素值的方法和差异对比
2015/04/30 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
详解Python中的strftime()方法的使用
2015/05/22 Python
Python字符串处理实例详解
2017/05/18 Python
python 实现A*算法的示例代码
2018/08/13 Python
关于python3中setup.py小概念解析
2019/08/22 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
性能服装:HYLETE
2018/08/14 全球购物
副厂长岗位职责
2014/02/02 职场文书
啦啦队口号大全
2014/06/16 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书