欢迎光临
我们一直在努力

文件汇总:查找指定类型文件

"""
文件汇总
先查找指定目录下的指定类型文件,
然后将查找到的文件路径写入指定文件中,
如果遇到文件夹,则进入文件夹继续搜索。
"""
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')
赞(0) 打赏
未经允许不得转载:创想未来 » 文件汇总:查找指定类型文件

评论 抢沙发

评论前必须登录!

 

更好的Python学习

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册