python—glob模块函数(搜索目录文件)

article/2025/10/27 23:06:26

目录

glob函数

iglob函数


glob模块函数用于从目录通配符搜索中生成文件列表,可以快速获取一定格式的文件夹或文件路径的列表。glob匹配模式较少,一共有三种通配符:*、?、[],属于轻量级。路径分隔符(Unix的/,Windows的\)不会被匹配。glob模块中的两个主要函数glob、iglob。

参数:

参数recursive参数需要与**结合使用,以便递归地查找出所有子文件中的文件夹及文件路径

匹配模式:

glob函数

glob.glob方法,根据传入的匹配模式,返回对应的文件夹和文件名列表,如下目录结构

  

from glob import glob, iglobprint(glob(r'D:\zhuomian\Test\**', recursive=True))
# ['D:\\zhuomian\\Test\\', 'D:\\zhuomian\\Test\\demo', 'D:\\zhuomian\\Test\\demo\\demo.py', 'D:\\zhuomian\\Test\\demo\\get_toast.py', 'D:\\zhuomian\\Test\\demo\\jietu.py', 'D:\\zhuomian\\Test\\demo\\login.py', 'D:\\zhuomian\\Test\\demo\\report', 'D:\\zhuomian\\Test\\demo\\report\\imgs', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664667519.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664668703.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664669729.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664670630.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664671623.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664678394.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664680591.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664682738.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664684867.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664687018.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664689116.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664691248.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664693386.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664695573.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664697855.jpg', 'D:\\zhuomian\\Test\\demo\\report\\imgs\\img-1642664700063.jpg', 'D:\\zhuomian\\Test\\demo\\report\\index.html', 'D:\\zhuomian\\Test\\demo\\report\\record.json', 'D:\\zhuomian\\Test\\demo\\report\\simplehttpserver.py', 'D:\\zhuomian\\Test\\demo\\report\\start.bat', 'D:\\zhuomian\\Test\\demo\\settings', 'D:\\zhuomian\\Test\\demo\\settings\\connect_app.py', 'D:\\zhuomian\\Test\\demo\\settings\\__pycache__', 'D:\\zhuomian\\Test\\demo\\settings\\__pycache__\\connect_app.cpython-38.pyc', 'D:\\zhuomian\\Test\\demo\\wenzi_yy', 'D:\\zhuomian\\Test\\demo\\wenzi_yy\\de1.py', 'D:\\zhuomian\\Test\\demo\\wenzi_yy\\de2.py', 'D:\\zhuomian\\Test\\demo\\wifi.py', 'D:\\zhuomian\\Test\\test01.txt', 'D:\\zhuomian\\Test\\test02.txt', 'D:\\zhuomian\\Test\\test1.docx', 'D:\\zhuomian\\Test\\test1.txt']print(glob(r'D:\zhuomian\Test\**', recursive=False))
# ['D:\\zhuomian\\Test\\demo', 'D:\\zhuomian\\Test\\test01.txt', 'D:\\zhuomian\\Test\\test02.txt', 'D:\\zhuomian\\Test\\test1.docx', 'D:\\zhuomian\\Test\\test1.txt']print(glob(r'D:\zhuomian\Test\*', recursive=True))
# ['D:\\zhuomian\\Test\\demo', 'D:\\zhuomian\\Test\\test01.txt', 'D:\\zhuomian\\Test\\test02.txt', 'D:\\zhuomian\\Test\\test1.docx', 'D:\\zhuomian\\Test\\test1.txt']print(glob(r'D:\zhuomian\Test\*.docx', recursive=True))
# ['D:\\zhuomian\\Test\\test1.docx']print(glob(r'D:\zhuomian\Test\test0?.txt', recursive=True))
# ['D:\\zhuomian\\Test\\test01.txt', 'D:\\zhuomian\\Test\\test02.txt']print(glob(r'D:\zhuomian\Test\test*.txt', recursive=True))
# ['D:\\zhuomian\\Test\\test01.txt', 'D:\\zhuomian\\Test\\test02.txt', 'D:\\zhuomian\\Test\\test1.txt']print(glob(r'D:\zhuomian\Test\*[0-1]*', recursive=True))  # [0-9]匹配数字
# ['D:\\zhuomian\\Test\\test01.txt', 'D:\\zhuomian\\Test\\test02.txt', 'D:\\zhuomian\\Test\\test1.docx', 'D:\\zhuomian\\Test\\test1.txt']print(glob(r'D:\zhuomian\Test\*[o]', recursive=True))
# ['D:\\zhuomian\\Test\\demo']print(glob(r'D:\zhuomian\Test\*[!o]', recursive=True))
# ['D:\\zhuomian\\Test\\test01.txt', 'D:\\zhuomian\\Test\\test02.txt', 'D:\\zhuomian\\Test\\test1.docx', 'D:\\zhuomian\\Test\\test1.txt']

iglob函数

glob.iglob方法,根据传入的匹配模式,返回对应的文件夹和文件名的迭代器

from glob import iglobpaths = iglob(r'D:\zhuomian\Test\**', recursive=True)
for path in paths:print(path)
D:\zhuomian\Test\
D:\zhuomian\Test\demo
D:\zhuomian\Test\demo\demo.py
D:\zhuomian\Test\demo\get_toast.py
D:\zhuomian\Test\demo\jietu.py
D:\zhuomian\Test\demo\login.py
D:\zhuomian\Test\demo\report
D:\zhuomian\Test\demo\report\imgs
D:\zhuomian\Test\demo\report\imgs\img-1642664667519.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664668703.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664669729.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664670630.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664671623.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664678394.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664680591.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664682738.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664684867.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664687018.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664689116.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664691248.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664693386.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664695573.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664697855.jpg
D:\zhuomian\Test\demo\report\imgs\img-1642664700063.jpg
D:\zhuomian\Test\demo\report\index.html
D:\zhuomian\Test\demo\report\record.json
D:\zhuomian\Test\demo\report\simplehttpserver.py
D:\zhuomian\Test\demo\report\start.bat
D:\zhuomian\Test\demo\settings
D:\zhuomian\Test\demo\settings\connect_app.py
D:\zhuomian\Test\demo\settings\__pycache__
D:\zhuomian\Test\demo\settings\__pycache__\connect_app.cpython-38.pyc
D:\zhuomian\Test\demo\wenzi_yy
D:\zhuomian\Test\demo\wenzi_yy\de1.py
D:\zhuomian\Test\demo\wenzi_yy\de2.py
D:\zhuomian\Test\demo\wifi.py
D:\zhuomian\Test\test01.txt
D:\zhuomian\Test\test02.txt
D:\zhuomian\Test\test1.docx
D:\zhuomian\Test\test1.txt

http://chatgpt.dhexx.cn/article/YMKUh8Is.shtml

相关文章

pathlib.Path模块下的glob、rglob,glob模块下的glob、iglob

1、导入所需模块 from pathlib2 import Path import glob2 as gb 2、当前所在路径 # D:\02周报 p Path.cwd()3、比较Path模块中的glob(*)、glob(**)、rglob(*)、rglob(**) # from pathlib2 import Path# D:\02周报 # p Path.cwd()type(p.glob(r"*")) print("P…

python中的glob.glob()(包含详细实例)

在网上搜了半天没搜到满意的解释,最终选择去原英文文档里寻找其释义,具体如下: glob.glob(pathname, *, root_dirNone, dir_fdNone, recursiveFalse) 其功能是返回一个与pathname匹配的路径名列表(该列表可以为空,必…

python 的标准库模块glob使用教程,主要为glob.glob()使用与glob.iglob()使用

欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 python 的标准库模块glob使用教程,主要为glob.glob函数使用与glob.iglob函数使用 文章目录: 1 glob模块介绍2 glob模块的具体使用2.1 查…

glob.glob()

glob.glob()函数 glob.glob()含有的内容非常少,其功能是查找符合特定规则的文件路径。例如(F:/Python/Hello)。 功能类似于Windows的文件搜索。 查找文件只用到三个匹配符:" “,”?", “[]”。 " "&#x…

glob函数

查找符合自己要求的文件 glob.glob() 返回一个列表,列表里的元素是符合要求的文件名(字符串) 三个匹配符: ”*”匹配任意0个或多个字符 ”?”匹配任意单个字符 ”[ ]”匹配指定范围内的字符 例子1: glob.glob(&q…

python 中的 glob.glob()

1. glob方法: glob模块的主要方法就是glob,该方法返回所有匹配的文件路径列表(list); 该方法需要一个参数用来指定匹配的路径字符串(字符串可以为绝对路径也可以为相对路径),其返回的文件名只…

python glob函数_Python glob()函数

Python glob()函数,是种文件通配符,非常常用。glob模块提供了函数用于从目录通配符搜索中生成文件列表: Python glob()函数用法 glob()函数可以查找符合自己要求的文件, 支持通配符操作*,**,?,[]这四个通配符, *代表0个或多个字符…

python glob.glob使用

使用了下thrift,出现了一些路径问题。原来是glob.glob函数捣的鬼。所以扒了下英文文档,有些收获。下面分享。 函数功能:匹配所有的符合条件的文件,并将其以list的形式返回。 一.glob.glob的介绍和一些实现细节 1.glob.glob函数的…

glob.glob() 函数

glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:””, “?”, “[]”。””匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定…

python glob.glob()

glob是python的一个标准库函数,它的作用类似于shell的find,但是只能返回一级目录的查找结果,支持通配符来查找某个目录的文件,找到的文件列表以list格式返回,如果目录不存在或者找到结果为空,则返回一个空列…

glob.glob()函数

glob.glob()函数 glob.glob(pathname, *, recursiveFalse) 功能:返回一个某一种文件夹下面的某一类型文件路径列表 pathname:文件路径 例如: 返回某一文件下面的pdf文件 import glob f glob.glob(H:\\paper_of_remote_sensing\\paper_of_lidar\\*.…

Linux杂谈之Glob文件名模式匹配

一 Glob ① 初识 glob 最早是出现在类Unix系统的命令行中,是用来匹配文件路径的1)在最新的 CentOS 7 中已经删除了 glob 的相关描述文档2)删除的原因由于 glob 已经整合到了 shell 之中,然后就有了 shell 通配符常见: 涉及glob的相关命令…

Python 中glob.glob()、glob.iglob()的使用

Python 中glob.glob()的使用 glob.glob(path)的功能: 返回符合path格式的所有文件的路径,以list存储返回。 glob.iglob(path)的功能: 返回符合path格式的一个文件的路径。 path的表示方法: 利用匹配符:"* "…

SSM项目小例子,SSM整合图文详细教程

SSM项目小例子 今天来搭建一个SSM项目的小例子简单练一练,那项目模板还是我们那个模板,就是我们在JavaWeb最后的小例子,那到SSM中我们如何实现,后面我们再看看springboot中如何实现 javaweb中项目例子:https://blog.cs…

SSM整合之登录注册

一、概述 本文以一个登录注册的小功能作为示例,对SSM框架做一个整合。 二、SSM整合 SSM框架是指Spring、SpringMVC和Mybatis,SpringMVC是包含在Spring中的,因此SSM框架整合核心是将Mybatis整合到Spring中。 2.1 DAO 1. 创建如下的数据库表格…

遇见狂神说SSM整合项目梳理详解

在跟B站的狂神学习的时候有一模块是SSM整合的一个小项目,虽然spring、springmvc、mybatis我都学过,但是整合到一起还是思路不清晰,就很懵,整合的一个小项目,让我知道了什么叫配置地狱,就是熟悉又陌生的感觉…

SSM整合Quartz

Quartz 1.整合1.1 mysql中创建quartz表1.2 添加quartz依赖1.3 添加quartz.properties与数据库关联1.4 编写quartzConfig文件1.4.1 quartz的初始化配置1.4.2 创建job 实例工厂 1.5 编写定时任务1.5.1 静态方式编写定时任务1.5.2 动态方式编写定时任务 2.quartz2.1 quartz概念2.2…

SSM 整合

目录 第六章 SSM 整合导图第一节 Spring 和 Mybatis 整合1、思路2、Mybatis-Spring技术3、总体 SSM 整合所需依赖4、配置数据源①创建 jdbc.properties②加入日志配置文件③创建 Spring 配置文件④创建 junit 测试类 5、配置 SqlSessionFactoryBean①创建 Mybatis 全局配置文件…

SSM整合Vue

昨日知识点总结 今日总结 文章目录 一.昨日知识 1.表单验证2.上传组件3.时间插件4.ElementUI简介 二.今日总结 1.页面静态化 通过html页面,制作展示所有制作添加页面 制作修改页面以及批量删除制作分页制作多条件查询 一、昨日重点复习 1.表单验证 在vue中使用rule…

SSM整合过程梳理

文章目录 前言一.SSM整合流程二.整合配置2.1添加依赖2.2创建项目包结构2.3创建SpringConfig配置类2.4创建JdbcConfig配置类2.5创建MybatisConfig配置类2.6创建jdbc.properties2.7创建SpringMVC配置类2.8创建Web项目入口配置类 三.功能模块3.1创建模型类3.2编写Dao接口3.3编写Se…