"""
文件汇总
先查找指定目录下的指定类型文件,
然后将查找到的文件路径写入指定文件中,
如果遇到文件夹,则进入文件夹继续搜索。
"""
import os
"""
递归搜索指定目录下的特定类型文件。
@param cur_dir 当前搜索的目录。
@param result 一个字典,包含目标文件类型和匹配的文件列表。
"""
def __search(cur_dir, result):
files = os.listdir(cur_dir)
for file in files:
file_path = os.path.join(cur_dir, file)
if os.path.isdir(file_path):
sub_dir = file_path
__search(sub_dir, result)
else:
if os.path.splitext(file)[1] in result['target']:
result['match'].append(file_path)
def search(begin, target):
"""
在文件系统中搜索指定目标。
该函数从给定的起始目录(begin)开始,向下搜索指定的目标(target),并记录所有匹配的目标路径。
参数:
begin: 字符串,表示搜索的起始目录。
target: 字符串,表示要搜索的目标文件或目录名。
返回:
匹配目标的列表,包含所有找到的路径。
"""
# 初始化搜索结果字典,包含目标和匹配项列表
result = {
'target': target,
'match': []
}
# 改变当前工作目录到起始目录
os.chdir(begin)
# 获取改变后的起始目录路径
begin = os.getcwd()
# 调用内部搜索函数,开始搜索
__search(begin, result)
# 返回所有匹配项的列表
return result['match']
"""
在指定目录开始搜索特定类型的文件,并将结果保存到文件中。
@param begin 搜索开始的目录。
@param target 待搜索的文件类型列表。
@param file 保存搜索结果的文件路径。
"""
def search_and_save(begin, target, file):
"""
在指定目录开始搜索特定类型的文件,并将结果保存到文件中。
@param begin 搜索开始的目录。
@param target 待搜索的文件类型列表。
@param file 保存搜索结果的文件路径。
"""
match = search(begin, target)
with open(file, 'w') as f:
f.write('\n'.join(match))
# 调用search_and_save函数,开始搜索并保存结果
search_and_save('..', ['.py', '.js'], '../list.txt')
文件汇总:查找指定类型文件
未经允许不得转载:创想未来 » 文件汇总:查找指定类型文件

创想未来
评论前必须登录!
注册