glob模块是Python标准库中一个重要的模块,主要用来查找符合特定规则的目录和文件,并将搜索的到的结果返回到一个列表中。

glob模块概述

 1、常用函数glob()

返回符合匹配条件的所有文件的路径。
file_list = glob.glob(pathname=path, recursive=False)
 2、重要参数recursive

recursive参数代表是否递归调用,与特殊通配符**一同使用,默认为False,False表示不递归调用,True表示递归调用。

3、四个通配符——【*,**,?,[]】

四个通配符的用法

*        代表0个或多个字符。

例如:获取文件夹目录下的所有文件。
path = r'C:\Users\Administrator\Desktop\map\*' file_list = glob.glob(path) for
file in file_list: print(file) # 结果
C:\Users\Administrator\Desktop\map\FME导出.gdb
C:\Users\Administrator\Desktop\map\next
C:\Users\Administrator\Desktop\map\晋安区.dwg
C:\Users\Administrator\Desktop\map\晋安区2.dwg
C:\Users\Administrator\Desktop\map\(补)任务下达.xlsx
获取文件夹目录下的dwg文件。
path = r'C:\Users\Administrator\Desktop\map\*.dwg' file_list = glob.glob(path)
for file in file_list: print(file) # 结果
C:\Users\Administrator\Desktop\map\晋安区.dwg
C:\Users\Administrator\Desktop\map\晋安区2.dwg
**      匹配所有文件、目录、子目录和子目录里的文件(recursive参数设为True)。
path = r'C:\Users\Administrator\Desktop\map\**' file_list =
glob.glob(path,recursive=True) for file in file_list: print(file) # 结果
C:\Users\Administrator\Desktop\map\
C:\Users\Administrator\Desktop\map\FME导出.gdb
C:\Users\Administrator\Desktop\map\next
C:\Users\Administrator\Desktop\map\next\next2
C:\Users\Administrator\Desktop\map\next\next2\other.txt
C:\Users\Administrator\Desktop\map\next\晋安区new.dwg
C:\Users\Administrator\Desktop\map\晋安区.dwg
C:\Users\Administrator\Desktop\map\晋安区2.dwg
C:\Users\Administrator\Desktop\map\(补)任务下达.xlsx
?     代表一个字符
path = r'C:\Users\Administrator\Desktop\map\晋安?.dwg' file_list =
glob.glob(path) for file in file_list: print(file) # 结果
C:\Users\Administrator\Desktop\map\晋安区.dwg
[]       匹配指定范围内的字符,如[0-9]匹配数字,[a-z]匹配小写字母。
path = r'C:\Users\Administrator\Desktop\map\[a-z]*' file_list =
glob.glob(path) for file in file_list: print(file) # 结果
C:\Users\Administrator\Desktop\map\FME导出.gdb
C:\Users\Administrator\Desktop\map\next

其它用法

查找本级所有的文件,用法类似os.listdir()。
path = r'..\*' file_list = glob.glob(path) for file in file_list: print(file)
# 结果 .\0-基础工具类 .\1-属性表处理 .\2-要素处理 .\3-数据处理 .\test.py
查找上一级所有的文件
path = r'..\*' file_list = glob.glob(path) for file in file_list: print(file)
# 结果 ..\0-GisPro工程 ..\1-GisPro_pytool ..\2-工具文件 ..\cc工具箱.tbx ..\cc工具箱使用文档.indd

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信