📅  最后修改于: 2023-12-03 15:18:55.645000             🧑  作者: Mango
如果你曾经需要在Python中查找特定类型的文件,你可能会使用 os
模块并递归地遍历每个文件或文件夹,直到找到目标文件。但是这种方法非常耗时。另一种方法是使用Python中内置的 glob
模块。
Glob
是一个通用类 Unix 工具程序,它可以根据模式匹配文件路径和名称。在Python中, glob
是使用此程序的模块。
使用 glob
进行基本的通配符匹配非常简单。这是一个例子,用于查找当前目录下所有以 .txt
结尾的文件:
import glob
txt_files = glob.glob('*.txt')
print(txt_files)
输出:
['file1.txt', 'file2.txt', 'file3.txt']
匹配模式语法如下:
*
: 匹配所有字符(0个或多个)?
: 匹配任意单个字符[]
: 匹配任何括号中的字符。可以使用连字符 -
指定字符范围!
: 匹配除在括号中的字符外的任意字符{}
: 指定可选模式,用逗号分隔。例如,下面的代码将查找当前目录及其子目录中所有以 .py
或 .txt
结尾的文件:
import glob
files = glob.glob('**/*.{py,txt}', recursive=True)
print(files)
输出:
['file1.txt',
'file2.py',
'file3.py',
'subdir/file4.txt',
'subdir/file5.py']
**/
: 表示递归查找目录中的子目录。使用 glob
模块可以轻松地在Python中查找特定类型的文件。它的匹配模式语法与常见的Unix shell通配符非常相似。如果需要在Python中查找文件,请尝试使用 glob
。