寻找指定文件夹下所有指定类型的文件(Python)
寻找指定文件夹下所有指定类型的文件(Python)
利用Python正则表达式进行匹寻找配
import os
import re
# 获得指定目录下所有指定后缀文件的路径
class GetFile:
def __init__(self, path, file_extensions):
self.file_list = [] # 保存路径
self.get_files_path(path, file_extensions)
def get_files_path(self, path, file_extensions):
file_list = os.listdir(path) # 获取所有子路径
for file_name in file_list:
new_path = os.path.join(path, file_name)
if os.path.isdir(new_path): # 判断,是文件夹,则递归
self.get_files_path(new_path, file_extensions)
elif os.path.isfile(new_path): # 判断是否为文件
result = re.match(".+\." + file_extensions + "$", new_path) # 判断是否为所需后缀的文件
if result:
self.file_list.append(new_path)
else:
print("It's not a directory or a file.")
# 使用示例
path = r'D:\下载'
file_extensions = 'exe' # 单类文件匹配
file_list = GetFile(path, file_extensions).file_list
file_extensions = '(md|mp4|jpg)' # 多类文件匹配
file_list = GetFile(path, file_extensions).file_list