python标准库之glob模块

本文详细介绍Python标准库中的glob模块,该模块允许使用通配符进行文件模糊搜索,提供了glob和iglob两个主要方法,分别返回匹配文件的列表和迭代器。文章解释了*、**、?、[exp]和[!exp]等通配符的功能,并通过示例演示如何查找特定类型的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python标准库之glob模块

在Linux下我们可以使用ls命令列出满足通配条件的文件,但是在python中os.listdir(dirname)中无法使用通配符,当然我们使用re模块配合os.lisrdiros.path使用也可以达到目的,但是这个方法不够native。

好在这是一个非常使用的功能,python标准库中就提供glob模块达到此效果,下面我们就来讲讲怎么使用python下的glob模块得到模糊匹配文件(模糊搜索文件,使用通配符匹配文件)。

方法/函数

方法名args参数说明返回说明
glob(pathname, recursive=False)pathname为需要匹配的字符串, recursive代表递归调用,与特殊通配符**一同使用,默认为False返回一个所有符合通配字符串的路径(文件和子目录)列表
iglob(pathname, recursive=False)同上同上,但是返回的是一个迭代器,

支持的通配符

通配符功能
*匹配0或多个字符
**匹配所有文件、目录、子目录和子目录里的文件(3.5版本新增)
?匹配1个字符,与正则表达式里的?不同
[exp]匹配指定范围内的字符,如:[1-9]匹配1至9范围内的字符
[!exp]匹配不在指定范围内的字符

示例


 

import glob

# 找到/path/to/ 目录下所有的以png结尾的文件和目录

png_list = glob.glob("/path/to/*.png")

 

# 返回迭代器

png_iter = glob.iglob("/path/to/*.csv")

 

# 返回/path/to目录下所有文件/子目录

png_iter = glob.iglob("/path/to/**", recursive=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值