知行编程网知行编程网  2023-01-09 00:00 知行编程网 隐藏边栏  4 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于如何使用python递归算法查找文件?的相关知识,希望可以帮到处于编程学习途中的小伙伴


查档我们说了很多,但是随着方法的使用越来越多,包括试卷题的不断优化,有小伙伴给小编留言,说他考试的时候遇到了一个问题,但是他只知道是什么我之前说过。内容都过了,但是不知道试卷上的题目怎么处理?有什么难做的?原来是用递归算法找文件,有谁知道吗?我不知道。让我们来看看。


~




使用

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不仅是电脑上的神器,更是考试的宠儿。一起好好看看吧~

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享