欢迎访问宙启技术站
智能推送

使用glob()函数在Python中查找匹配的文件路径

发布时间:2023-12-28 11:07:02

在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()函数的用法。