📅  最后修改于: 2023-12-03 15:22:16.557000             🧑  作者: Mango
在编写 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 程序的介绍。