Python内置库之glob库

glob库简单介绍

glob模块是Python标准库中的一个重要模块,其主要用途为查找符合特定规则的目录和文件,并将搜索的到的结果返回到一个列表中。由于其支持若干正则通配符,glob库使用起来较为方便。下文将围绕glob模块三个主要函数:glob(),iglob(),escape()三个函数来进行介绍。

glob函数

函数格式:glob(pathname, recursive=False)
输入参数:pathname为需要匹配的字符串,recursive参数代表递归调用,与特殊通配符“**”一同使用,默认为False。
功能:返回符合指定匹配条件的文件路径。
常用匹配符

通配符 匹配功能
* 匹配0或多个字符
** 匹配所有文件,目录,子目录和子目录里面的文件(3.5版本新增)
匹配一个字符
[ ] 匹配指定区间,比如[1-9]匹配1-9的数字;[a-z]匹配小写字母

例子
在这里插入图片描述
在这里插入图片描述

import glob
import os

path1 = r"F:\dataset\ebike"
path2 = r"F:\dataset\ebike\jpg"

print("各种方式匹配结果为:")
print(glob.glob(os.path.join(path1,"*.py")))
print("===================================")
print(glob.glob(os.path.join(path1,"[0-9].py")))
print("===================================")
print(glob.glob(os.path.join(path1,"[a-z].py")))
print("===================================")
print(glob.glob(os.path.join(path1,"**"),recursive=True))
print("===================================")
print("done!!!!")

在这里插入图片描述

iglob函数

函数格式:iglob(pathname, recursive=False)
输入参数:和glob一样。
功能:返回一个迭代器,该迭代器不会同时保存所有匹配到的路径,遍历该迭代器的结果与使用相同参数调用glob()的返回结果一致。

escape函数

函数格式:escape(pathname)
输入参数:路径名
功能:检测文件是否存在,忽略匹配符。

总结

主要函数为上面三个,其中最重要的是glob函数,同时对于大量文件可以使用iglob函数减少内存使用。另外需要注意的是glob默认不匹配以点符号(.)开始的文件,如果有这类文件,则需要做特殊处理。

猜你喜欢

转载自blog.csdn.net/qq_45919032/article/details/130261464