使用glob()函数在Python中查找匹配的文件路径
在Python中,可以使用glob()函数来查找匹配的文件路径。glob()函数是Python的内置函数,用于在指定的文件夹中查找与指定模式匹配的文件路径。
glob()函数接受一个参数,即匹配模式。匹配模式可以使用通配符来指定文件名的形式。常用的两个通配符是*和?。其中,*匹配任意长度的字符,而?匹配任意单个字符。
下面是使用glob()函数的基本语法:
glob.glob(pattern)
pattern参数是用于匹配文件路径的模式。可以是绝对路径,也可以是相对路径。如果模式中包含目录分隔符,将从根目录开始查找匹配的文件路径,否则从当前工作目录开始。
glob()函数返回一个包含匹配的文件路径的列表。这个列表按照字母顺序排列,不包含子目录中的文件路径。
下面是一个查找所有txt文件的例子:
import glob
txt_files = glob.glob('*.txt')
print(txt_files)
在这个例子中,*.txt是一个匹配模式,用于查找所有以txt为扩展名的文件。
如果要查找指定目录及其子目录下的所有文件,可以将匹配模式中的目录名替换为双星号**,如下所示:
import glob
all_files = glob.glob('**', recursive=True)
print(all_files)
在这个例子中,recursive=True参数表示查找指定目录下的所有子目录。
除了通配符*和?之外,还可以使用方括号[]来指定文件名的字符范围。下面是一个查找以a开头的所有文件的例子:
import glob
a_files = glob.glob('a*')
print(a_files)
在这个例子中,a*是一个匹配模式,用于查找所有以a开头的文件。
可以使用多个通配符和方括号来组合使用,以满足更复杂的匹配要求。下面是一个查找以a或b开头,以txt或xlsx为扩展名的文件的例子:
import glob
files = glob.glob('[ab]*.[txt,xlsx]')
print(files)
在这个例子中,[ab]*.[txt,xlsx]是一个匹配模式,表示查找以a或b开头的文件名,而且文件扩展名为txt或xlsx。
总结:使用glob()函数可以方便地查找匹配的文件路径。通过提供匹配模式,可以灵活地指定要匹配的文件名的形式,包括通配符和方括号。同时,可以使用recursive=True参数来查找指定目录及其子目录下的所有文件。希望上述的使用示例能够帮助你理解glob()函数的用法。
