最新公告
  • 欢迎您光临知事网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 使用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不仅是电脑上的计算机,也是考试上的宠儿,大家好好看下吧~

    猜你在找

    找互联网优质资源,上知事网!
    知事网 » 使用python递归算法查找文件的方法

    常见问题FAQ

    网盘提取密码在哪里?
    在网站右侧有个“文件密码”,点击复制即可!
    网站的积分如何获得?
    注册登录后,每天签到可获得2个积分,每天可签到一次!

    发表评论

    • 1262会员总数(位)
    • 666资源总数(个)
    • 4本周发布(个)
    • 1 今日发布(个)
    • 3459稳定运行(天)

    提供最优质的资源集合

    Mac软件 Dedecms源码
    升级SVIP尊享更多特权立即升级