栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

回溯算法实现在特定路径下查找文件

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

回溯算法实现在特定路径下查找文件

题目描述:给定你一个路径,一个文件名。写脚本查找这个路径下(包括子目录)所有叫这个文件名的文件。

即,本文用Python实现

find path -name file_name

这个功能。


乍一看感觉挺简单的,一个递归就可以实现。实际上,得用回溯思想。请欣赏代码:

# author: muzhan
import os
import os.path as osp

def find(path, name, res=[]):
    ls = os.listdir(path)
    if name in ls:
        res.append(osp.join(path, name))
    for sth in ls:
        if osp.isdir(osp.join(path, sth)):
            find(osp.join(path, sth), name, res)
    return res


if __name__ == "__main__":
    current_path = './jsons/'
    name = 'apple.json'
    abs_path = find(current_path, name)
    print(abs_path)

解析:
首先要了解回溯的一般要领:
· 分支+递归;
· 合适的判断条件(减少分支);
· 中间结果要伴随形参传递;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/588643.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号