这篇文章主要介绍如何使用python递归算法查找文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联是专业的万州网站建设公司,万州接单;提供网站建设、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行万州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!使用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递归算法查找文件的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!