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

使用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库提供了一个简单且强大的方法来进行文件过滤和搜索。通过使用不同的模式和选项,你可以轻松地找到符合特定条件的文件。希望这个示例对你有所帮助!