📌  相关文章
📜  使用 RegEx 查找具有特定扩展名的文件的Python程序(1)

📅  最后修改于: 2023-12-03 15:22:16.557000             🧑  作者: Mango

使用 RegEx 查找具有特定扩展名的文件的Python程序

在编写 Python 程序时,我们可能需要查找具有特定扩展名的文件,例如所有以 .txt 结尾的文本文件。这时候可以使用 re 模块中的 re.findall() 函数来进行正则表达式匹配,从而查找符合条件的文件。

下面是一个示例程序展示如何使用 RegEx 查找具有特定扩展名的文件:

import os
import re

def find_files_with_extension(path, extension):
    """
    查找具有特定扩展名的文件
    """
    regex = re.compile(rf".*\.{extension}$")
    files = []
    for root, dirs, filenames in os.walk(path):
        for filename in filenames:
            if regex.match(filename):
                files.append(os.path.join(root, filename))
    return files

该程序接受两个参数:path 表示搜索的目录路径,extension 表示需要匹配的文件扩展名。它返回一个列表,包含所有符合要求的文件的完整路径。

当调用该函数时,代码会先使用 re.compile() 函数创建一个正则表达式对象 regex,其中的 {extension} 字符串会被替换成实际的扩展名。这个正则表达式会匹配所有以指定扩展名结尾的文件名。

然后我们遍历 path 目录下的所有文件,使用正则表达式匹配每个文件名,如果匹配成功则将该文件的完整路径添加到 files 列表中。最后返回 files 列表。

使用该程序可以很方便地查找具有特定扩展名的文件,例如:

files = find_files_with_extension(".", "txt")
print(files)

该代码会查找当前目录下所有以 .txt 结尾的文本文件,并打印它们的路径。

以上是使用 RegEx 查找具有特定扩展名的文件的 Python 程序的介绍。