使用glob2库进行文件过滤和搜索的示例代码
发布时间:2023-12-31 23:45:47
glob2是一个用于文件过滤和搜索的Python库。它是glob模块的增强版,提供了更多的功能和选项。
首先,我们需要安装glob2库。在命令行中运行以下命令进行安装:
pip install glob2
接下来,我们来看一个简单的示例代码,演示如何使用glob2进行文件过滤和搜索:
import glob2
# 文件过滤和搜索
files = glob2.glob('*.txt') # 查找当前目录下所有以 .txt 结尾的文件
print('所有.txt文件:')
for file in files:
print(file)
# 多个模式匹配
files = glob2.glob(['*.txt', '*.csv']) # 查找当前目录下所有以 .txt 或 .csv 结尾的文件
print('
所有.txt和.csv文件:')
for file in files:
print(file)
# 文件路径匹配
files = glob2.glob('folder/**/*.txt') # 递归查找 folder 文件夹及其子文件夹中的所有以 .txt 结尾的文件
print('
folder文件夹中的所有.txt文件:')
for file in files:
print(file)
# 寻找最新修改的文件
latest_file = max(glob2.glob('*.txt'), key=os.path.getmtime) # 查找当前目录下所有以 .txt 结尾的文件,并返回最新修改的那个
print('
最新修改的.txt文件:', latest_file)
这个示例展示了几种常见的glob2的使用情况。首先,我们使用glob2.glob函数来进行文件过滤和搜索。传入的参数是一个字符串形式的模式,用于匹配文件名。在 个示例中,我们查找当前目录下以.txt结尾的文件。glob2.glob返回一个列表,其中包含所有匹配的文件路径。
在第二个示例中,我们演示了如何使用多个模式进行匹配。我们传入一个模式列表,其中包含.txt和.csv两种模式。glob2.glob会匹配符合任一模式的文件。
在第三个示例中,我们展示了如何进行文件路径匹配。我们使用**来表示递归搜索。这意味着folder/**/*.txt会匹配folder文件夹及其子文件夹中的所有以.txt结尾的文件。
最后,在最后一个示例中,我们展示了如何找到最新修改的文件。我们使用os.path.getmtime函数来获取文件的修改时间,并通过max函数找到最新修改的文件。
总的来说,glob2库提供了一个简单且强大的方法来进行文件过滤和搜索。通过使用不同的模式和选项,你可以轻松地找到符合特定条件的文件。希望这个示例对你有所帮助!
