您现在的位置是:课程教程文章
如何使用python递归算法查找文件?
2023-12-18 16:45课程教程文章 人已围观
-
谷德学院GOSE1系列课程之如何使用寻线器
谷德学院GOSE1系列课程之如何使用寻线器课程介绍 课程目标:让学员了解可视对讲系统的组成及功能 适合人群:零基础... -
数据结构与算法
数据结构与算法需要更多学习资料的同学可以加咨询老师QQ3408737848、1577698460,免费领取资料、... -
人工智能推荐算法系统实战之contentbase文
人工智能推荐算法系统实战之contentbase文1、 课程咨询加老师助理微信: 助理1微信: chenjinglei88 ,助理2微信: omf6757 ... -
推荐算法中绕不开的“兴趣探索”问题
推荐算法中绕不开的“兴趣探索”问题这一期 58 集团算法架构师陈琳,将结合 58 业务实战,围绕用户的兴趣探索和开...
对于文件查找我们说的不少,但是随着使用方法的不断增加,包括试卷问题也不断优化,有小伙伴就给小编留言,说自己考试时候遇到了一个问题,但是他只会我之前讲过的内容,但是不知道试卷上的问题自己要怎么处理?是什么内容这么难搞呢?原来是使用递归算法去查找文件,有小伙伴知道吗?不清楚的来看下吧~
使用python构建递归算法,实现查找电脑中的所有文件
需要检测一个大文件夹下所有文件的更新状态,这个大文件夹下面包含了很多文件和文件夹,文件夹中又包含了很多文件和文件夹等等。
这么多层的包含嵌套关系,首先想到的可能是使用for循环,但是在这个需求中,for循环不能满足我们的要求,原因有两个:
l 我不能确定文件夹中到底嵌套了多少层
l 使用for循环为增加代码量并且不好维护
递归算法
通俗的解释是后一步需要依据前一步的结果来进行,所以我们可以定义一个函数,在满足条件的是的在函数内部调用这个函数。
我们先来看python代码:
file_list = [] def get_file_url(session, next_url): next_response = session.get('https://gitlab.com' + next_url) soup = BeautifulSoup(next_response.text, 'html.parser') folders = soup.find_all('tr', class_=re.compile("^tree-item file_")) for folder in folders: folder_name = folder.find('td').find('a').attrs['title'] folder_url = folder.find('td').find('a').attrs['href'] if len(folder_name.split('.')) > 1: file_list.append(folder_url) else: get_file_url(session, folder_url)
以上内容讲解的非常详细哦~如果大家已经学会之前小编教大家的内容,这篇内容也好好看下,必经学习python不仅是电脑上的计算机,也是考试上的宠儿,大家好好看下吧~
课程教程:如何使用python递归算法查找文件?下一篇:没有了