Python glob()
glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:’*’, “?”, “[ ]”。”*”匹配任意0个或多个字符;”?”匹配任意单个字符;”[ ]”匹配指定范围内的字符,如:[0-9]匹配数字。
不区分大小写
'.'开头的不匹配
print(glob.glob(r’ . ./*’) )上一级所有目录
>>> print(glob.glob("../*"))
['..\\Python37-32', '..\\Python38-32']
print(glob.glob(r’ ./*’) )本级所有目录
>>> print(glob.glob("./*"))
['.\\DLLs', '.\\Doc', '.\\include', '.\\Lib', '.\\libs', '.\\LICENSE.txt', '.\\NEWS.txt', '.\\python.exe', '.\\python3.dll', '.\\python38.dll', '.\\pythonw.exe', '.\\Scripts', '.\\tcl', '.\\Tools', '.\\vcruntime140.dll']
print(glob.glob(r’ ./ * . *’) )本级所有文件
print(glob.glob("./*.*"))
['.\\LICENSE.txt', '.\\NEWS.txt', '.\\python.exe', '.\\python3.dll', '.\\python38.dll', '.\\pythonw.exe', '.\\vcruntime140.dll']
print(glob.glob(r’ ./ * . *’) )本级所有dll
>>> print(glob.glob("./*.dll"))
['.\\python3.dll', '.\\python38.dll', '.\\vcruntime140.dll']
print(glob.glob(r’ C:/ * ') )C盘所有目录
>>> print(glob.glob("C:/*"))
['C:/$360Section', 'C:/$Recycle.Bin', 'C:/360SANDBOX', 'C:/Boot', 'C:/bootmgr'.......]
print(glob.glob(“C:/[PB][RO]”) )C盘所有包含pr/po/br/bo的目录
print(glob.glob("C:/*[PB][RO]*"))
['C:/360SANDBOX', 'C:/Boot', 'C:/bootmgr', 'C:/BOOTNXT', 'C:/BOOTSECT.BAK', 'C:/PO', 'C:/Program Files', 'C:/Program Files (x86)', 'C:/ProgramData']
print(glob.glob(“C:/p?O”) )C盘所有包含P_o的目录
>>> print(glob.glob("C:/*P?O*"))
['C:/Program Files', 'C:/Program Files (x86)', 'C:/ProgramData']
print(glob.glob(“C://.txt”) )C盘两级目录所有的txt
>>> print(glob.glob("C:/*/*.txt"))
['C:/xiaoyi\\检索式.txt']