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

使用glob模块在Python中进行文件搜索

发布时间:2024-01-04 09:25:00

在Python中,可以使用glob模块进行文件搜索。glob模块提供了一个函数,可以使用通配符模式匹配文件名来搜索文件。

首先,需要导入glob模块:

import glob

然后,可以使用glob.glob()函数进行文件搜索。该函数接受一个字符串参数,代表搜索的文件路径和文件名匹配模式。

下面是一些常见的通配符模式:

- * 匹配任意字符

- ? 匹配单个字符

- [...] 匹配方括号中的字符范围

- [!...] 匹配不在方括号中的字符范围

下面是一些示例:

1. 搜索当前目录下所有的文本文件:

files = glob.glob('*.txt')
print(files)

2. 搜索当前目录及其子目录下所有的图片文件:

files = glob.glob('**/*.jpg', recursive=True)
print(files)

3. 搜索指定目录下特定文件名开头的文件:

files = glob.glob('/path/to/directory/file*.txt')
print(files)

4. 搜索指定目录下以数字结尾的文件:

files = glob.glob('/path/to/directory/*[0-9].txt')
print(files)

5. 搜索指定目录下不以数字结尾的文件:

files = glob.glob('/path/to/directory/*[^0-9].txt')
print(files)

注意:在Windows系统上,文件路径使用反斜杠(\)作为分隔符,而在其他操作系统上使用正斜杠(/)作为分隔符。

另外,glob模块还提供了其他一些函数来处理文件搜索,如glob.escape()用于转义特殊字符、glob.escape()用于检查是否存在匹配的文件等。

import glob

pattern = glob.escape('D:\example\*.txt')
files = glob.glob(pattern)
print(files)

has_files = glob.has_magic('D:\\example\\*.txt')
print(has_files)

上面的例子中,glob.escape()用于转义路径中的特殊字符,如反斜杠;glob.has_magic()用于检查给定的字符串是否包含通配符。

总结:

- glob模块提供了在Python中进行文件搜索的能力。

- 通配符模式可以用来匹配文件名。

- 使用glob.glob()来进行文件搜索,接受一个字符串参数来指定搜索模式。

- glob模块还提供了其他一些函数来处理文件搜索,如glob.escape()用于转义特殊字符、glob.escape()用于检查是否存在匹配的文件等。