1 介绍
glob模块用来查找文件目录和文件,并将搜索得到的结果返回到一个列表中,常见的两个方法有glob.glob()和glob.iglob(), 可以和常用的find功能进行类比,glob支持 *、?、[]这三种通配符。
2.三种通配符的含义
- “*”:代表0个或多个字符;
-“?”:代表有一个字符;
-“[]”: 匹配指定范围内的字符,如[0-9]匹配数字;
3.使用方式
- import glob # 导入整个glob模块
- from glob import glob #从glob模块导入glob函数
4.示例
#1. 定义一个函数,搜索C盘下的所有文件和目录,并返回一个列表(这里使用import glob方式)
import glob
def search():
f = glob.glob(r'c:\*') # glob.glob表示glob模块下的glob函数
printf(f)
if __name__ == '__main__':
search()
# 2. 定义一个函数查询E盘中以.exe结尾的文件有哪些(这里使用from glob import glob)
from glob import glob
def search():
f = glob(r'e:\*.exe') # 直接调用函数
for i in f:
printf(i)
if __name__ == "__main__":
search()
5. glob.iglob()函数
获取一个可编历对象,使用它可以逐个获取匹配的文件路径名。
与glob.glob()的区别是:glob.glob()可同时获取所有的匹配路径,而glob.iglob()一次只能获取一个匹配路径。
import glob
# 父目录中的.py文件
f = glob.iglob(r'../*.py')
printf(f) #
for py in f:
printf(py)