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

Python中使用glob模块实现文件路径匹配功能

发布时间:2024-01-04 09:26:09

在Python中,可以使用glob模块来实现文件路径的模式匹配功能。glob模块提供了一个函数glob.glob(),它接受一个文件路径模式作为参数,并返回所有匹配该模式的文件的路径列表。

下面是一个使用glob模块进行文件路径匹配的例子:

import glob

# 例子1:匹配所有的txt文件
txt_files = glob.glob('*.txt')
print(txt_files)

# 例子2:匹配所有的python文件
python_files = glob.glob('*.py')
print(python_files)

# 例子3:匹配指定文件夹下的所有文件
all_files = glob.glob('path/to/directory/*')
print(all_files)

# 例子4:匹配指定文件夹下的所有子文件夹的所有文件
all_files = glob.glob('path/to/directory/**/*', recursive=True)
print(all_files)

# 例子5:匹配指定文件夹下的所有以数字开头的文件夹的所有文件
numbered_dir_files = glob.glob('path/to/directory/[0-9]*/**/*', recursive=True)
print(numbered_dir_files)

在这个例子中,我们首先导入了glob模块。接着,我们使用glob.glob()函数来进行文件路径匹配。

在例子1中,我们使用*.txt作为模式,匹配当前工作目录下的所有txt文件,并将它们的路径存储在txt_files列表中。然后我们输出txt_files列表的内容。

在例子2中,我们使用*.py作为模式,匹配当前工作目录下的所有python文件,并将它们的路径存储在python_files列表中。然后我们输出python_files列表的内容。

在例子3中,我们使用path/to/directory/*作为模式,匹配path/to/directory路径下的所有文件,并将它们的路径存储在all_files列表中。然后我们输出all_files列表的内容。

在例子4中,我们使用path/to/directory/**/*作为模式,并将recursive参数设置为True,以匹配path/to/directory路径下的所有文件夹及其子文件夹中的所有文件,并将它们的路径存储在all_files列表中。然后我们输出all_files列表的内容。

在例子5中,我们使用path/to/directory/[0-9]*/**/*作为模式,并将recursive参数设置为True,以匹配path/to/directory路径下名字以数字开头的文件夹及其子文件夹中的所有文件,并将它们的路径存储在numbered_dir_files列表中。然后我们输出numbered_dir_files列表的内容。

通过使用glob模块,我们能够非常方便地根据指定的文件路径模式匹配需要的文件,并对它们进行进一步的处理。