百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python的glob.glob()函数递归匹配文件或目录

off999 2024-11-25 15:52 31 浏览 0 评论

python自带的glob模块用于查找符合特定规则的文件路径名。这个模块主要提供了一个函数glob(),它返回一个列表,包含了所有匹配特定模式的文件路径。跟pathlib.Path.glob是类似的功能,两者之间也有明显的区别。

  • glob.glob():是一个函数可以直接调用,函数返回一个list,包括匹配到的文件或目录名。
  • pathlib.Path.glob():需要先初始化Path类,然后调用glob函数,返回的是yield生成器,并且返回的是文件路径对象。超大型的文件目录可以建议使用pathlib.Path.glob。

glob.glob()函数介绍

使用时先导入glob模块:

import glob

glog.glob函数源码如下:适配python3.12版本,不同的版本参数可能不同。

参数介绍:

pathname:一个字符串,表示要匹配的文件模式。

  • '*':匹配给定路径下所有的文件和目录(*不会递归查找子目录)。
  • '*.txt':匹配给定路径下所有以.txt结尾的文件(不会递归查找子目录)。
  • 'a/*.csv':匹配a目录下所有以.csv结尾的文件。
  • '**':匹配当前目录及其所有子目录下的文件和目录(**支持递归)。
  • '**/*.py':匹配当前目录及其所有子目录下所有以.py结尾的文件(**支持递归)。
  • '?.txt':匹配所有单个字符文件名并以.txt结尾的文件(例如a.txt,但不包括ab.txt)。
  • '[abc].txt':匹配a.txt、b.txt或c.txt。

root_dir:默认为None,使用当前目录;传入其他目录,比如“D:”表示在传入的目录中查找。

recursive:默认为False,参数为True和pathname包含**时,会递归地查找所有子目录中的文件。

Include_hidden:默认为False,参数为True时会查找隐藏的目录。

举例:

1)查找某个目录中的python文件

for file in glob.glob('*.py',root_dir='D:\Python37\Scripts'):  
  print(file)

2)递归查找某个目录及所有子目录中的python文件

for file in glob.glob('**/*.py',root_dir='D:\Python37\Scripts',
                      recursive=True):
  print(file)

3)查找某个目录中的隐藏的所有文件

for file in glob.glob('*',root_dir='D:\Python37\Scripts',
                      include_hidden=True):
  print(file)

Path.glob(pattern)函数

返回与给定模式匹配的所有文件路径对象;这个方法返回的是一个生成器,可通过for循环访问。

参数pattern解释:pattern是一个字符串,用于指定要搜索的文件模式,有些类似于re模块对应的正则表达式,支持像通配符*,代表单个字符的?等。

以下是一些pattern参数的示例:

  • '*':匹配给定路径下所有的文件和目录(*不会递归查找子目录)。
  • '*.txt':匹配给定路径下所有以.txt结尾的文件(不会递归查找子目录)。
  • 'a/*.csv':匹配a目录下所有以.csv结尾的文件。
  • '**':匹配当前目录及其所有子目录下的文件和目录(**支持递归)。
  • '**/*.py':匹配当前目录及其所有子目录下所有以.py结尾的文件(**支持递归)。
  • '?.txt':匹配所有单个字符文件名并以.txt结尾的文件(例如a.txt,但不包括ab.txt)。
  • '[abc].txt':匹配a.txt、b.txt或c.txt。

测试代码:先初始化Path类,传入参数Path.cwd(),表示当前路径。

1)使用glob函数匹配特定的python文件。

path_ins= Path(Path.cwd())
for i in path_ins.glob('*.py'):
  print(f'路径:{i}')

2)使用glob函数匹配所有的文件和目录。

path_ins= Path(Path.cwd())
for i in path_ins.glob('*'):
  print(f'路径:{i}')

3)使用glob函数匹配当前目录及所有子目录下的所有文件和文件夹。

path_ins= Path(Path.cwd())
for i in path_ins.glob('**'):
  print(f'路径:{i}')

共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”

-----指水滴不断地滴,可以滴穿石头;

-----比喻坚持不懈,集细微的力量也能成就难能的功劳。

----感谢读者的阅读和学习,谢谢大家。

相关推荐

分区合并到c盘(磁盘分区合并到c盘)

一、选择我的电脑并点击右键,选择管理菜单。二、选择储存——磁盘管理。三、以将新加卷g盘合并到c盘为例:选择G盘并单击右键呼出菜单,在菜单中选择删除卷菜单。四、点击“是”。点击c盘并单击右键。选择扩展卷...

下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
免费ip转换器(ip转换器是干什么用的)

深度IP转换器软件由广州候胜科技有限公司开发的一款国内IP地址转换器软件深度IP转换器是一款动态IP和静态IP结合的IP地址修改软件,拥有全国城市节点固定IP线路5000加高速服务器IP,属于高匿名8...

笔记本键盘键位图(笔记本键盘键位图怎么看)

在笔记本的键盘左下角有个Fn键,这个键可能很多人都不知道有什么用可能也很少会用到他,就这么被忽略了。而这个Fn键就是笔记本用来开启F1到F12功能的键,有些笔记本是按住Fn键在F1到F12就能发挥他们...

如何消除手机自动出现的广告

方法一:采用关闭手机联网功能  大家都知道手机弹出广告是在手机使用联网功能下发生的,那么可以采用对手机软件联网功能的限制,从而达到屏蔽手机广告的目的,找到手机自带的“网络助手”字样的软件打开后进入到“...

免费wifi上网(怎样打开免费wifi上网)

免费wifi并非完全真实存在。免费wifi虽然在许多公共场所提供,但并非完全免费。通常情况下,提供免费wifi的场所会要求用户进行一些操作,如填写个人信息、观看广告或接受其他形式的付费。这些操作可能会...

本机ip查询地址定位查询(本机ip地址查询位置)

1.地理定位信息。具体的位置是可以通过ip地址查询得出来的。因此,对于当下电信诈骗或者一些网络虚拟的情况下,这样的查询方式是很重要的,也是很容易得出来信息的。只有这样,才能够在定位方面更加精准可靠一点...

wifi万能密码破解器(wifi万能密码破解版)

万能钥匙主要的作用是分享与被分享的关系,你所用万能钥匙一件查询和破解的都是别人分享的密码,不是万能钥匙破解的作用,真正能破解的只是那些密码简单的,比如12345678或者豹子数比如88888888和1...

win8的稳定性(win8稳定还是win10稳定)

如果是玩游戏Win7相对win7稳定一些,能兼容大部分的游戏。其它的应该各有千秋,具体上可以从如下几点了解:1、Win8相对Win7开机更快,内存管理更高效,HTML5支持更好,兼容暂时落后。2、Wi...

怎么切任务管理器(任务管理)

任务管理器切换方法如下1.先按WIN+X,再按T,即可呼出任务管理器2.同时按Ctrl+Shift+Esc,即可呼出任务管理器。3.同时按Ctrl+Alt+Del,在跳转的界面里...

windows激活无法连接到组织网络

1、在桌面新建一个文本文档,把代码复制进去2、点击文件选择“另存为”,在弹出的界面中,将保存位置选择在桌面,保存类型改为所有文件,文件名改为.bat格式的文件,然后点击“保存”按钮; 3、右...

企业邮箱注册申请流程(企业邮箱怎么注册申请)
企业邮箱注册申请流程(企业邮箱怎么注册申请)

点击进入官网,进入邮箱后,点击下方的企业邮箱,开通邮箱有两个版本,一个是免费版,一个是专业版,这边点击免费版的立即开通,弹出的界面,输入账号、密码以及手机号码,输入验证码。扩展知识:企业邮箱特点1、便于管理企业可以自行设定管理员来分配和管理...

2026-01-14 13:43 off999

window截图快捷键(windows自带截屏的方法)
window截图快捷键(windows自带截屏的方法)

1、按Prtsc键截图这样获取的是整个电脑屏幕的内容,按Prtsc键后,可以直接打开画图工具,接粘贴使用。也可以粘贴在QQ聊天框或者Word文档中,之后再选择保存即可。2、按Ctrl+Prtsc键截图截屏获得的内容也是整个电脑屏幕,与上面的...

2026-01-14 13:15 off999

win10一定要创建账户吗(win10需要创建microsoft账户吗)

win10系统安装不需要申请微软账号。如果是在安装win10的过程中,则使用本地账户登录,从安装主要步骤完成之后进入后续设置阶段开始,步骤如下:1、首先就是要输入产品密钥,或者点击左下角“以后再说”。...

win10显示已禁用输入法(w10系统已禁用输入法)

在使用win10的过程中,有时候利用第三方软件过度优化开机启动项目就容易导致win10无法打开输入法问题,这个情况是由于ctfmon程序无法正常启动所致,一般表现在电脑桌面右下角显示已禁用ime的提示...

取消回复欢迎 发表评论: