• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python 遍历磁盘目录的三种方法

    深度遍历

    递归

    import os
    
    def get_files(path):
      # 判断路径是否存在,如果不存在,函数直接结束
      if not os.path.exists(path):
        print('路径不存在')
        return
      # 判断路径是否为文件夹
      if not os.path.isdir(path):
        print('路径是一个文件')
        return
      # 这时候,路径是一个文件夹
      # 获取文件夹中文件或文件夹的名称
      file_list = os.listdir(path)
      # 遍历文件夹
      for filename in file_list:
        # 拼接路径,获取每个次级目录下的文件路径
        subpath = os.path.join(path,filename)
        if os.path.isfile(subpath):
          if os.path.splitext(subpath)[1] == '.py':
            print('python文件:{}'.format(subpath))
        else:
          # 如果filename是文件夹,则调用函数继续遍历
          get_files(subpath)
    

    用栈来遍历磁盘

    栈的特点:先进后厨,后进先出
    原理:path第一次被pop删除后返回path,遍历目录下的文件,如果遇到文件夹追加到列表中,pop是删除最后一位的元素,每次又遍历最后一位的文件夹,所以每一轮都会将次级目录下的文件夹遍历完成之后再遍历下个次级目录

    import os
    
    def get_files(path):
      # 判断路径是否存在
      if not os.path.exists(path):
        print('路径不存在')
        return
      if not os.path.isdir(path):
        print('路径是一个文件夹')
        return
      # 创建一个列表作为栈
      stack = [path]
      # 取出栈中的元素
      while len(stack) != 0:
        path = stack.pop()
        file_list = os.listdir(path)
        for filename in file_list:
          subpath = os.path.join(path,filename)
          if os.path.isfile(subpath):
            print('python文件:{}'.format(subpath))
          else:
            stack.append(subpath)
    

    广度遍历磁盘

    用队列遍历磁盘

    import os
    import collections
    
    
    def get_py_file(path):
      # 判断路径是否存在
      if not os.path.exists(path):
        print('路径不存在')
        return
        # 判断路径是否是文件夹
      if os.path.isfile(path):
        print('路径是文件')
        return
        # path是一个文件夹
    
      # 定义一个空对列
      queue = collections.deque()
      queue.append(path)
      while len(queue) != 0:
        # 从队列中获取第一个元素
        path = queue.popleft()
        # 获取目录下的所有内容
        filelist = os.listdir(path)
        # 遍历
        for filename in filelist:
          # 拼接
          filepath = os.path.join(path, filename)
          if os.path.isfile(filepath):
            if os.path.splitext(filepath)[1] == '.py':
              print(filepath)
          else:
            queue.append(filepath)
    
    

    以上就是python 遍历磁盘目录的三种方法的详细内容,更多关于python 遍历磁盘目录的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • 用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
    • python实现磁盘日志清理的示例
    • python获取磁盘号下盘符步骤详解
    • 使用python获取电脑的磁盘信息方法
    • python3实现磁盘空间监控
    • python3监控CentOS磁盘空间脚本
    • 磁盘垃圾文件清理器python代码实现
    • Python实现获取磁盘剩余空间的2种方法
    • Linux 发邮件磁盘空间监控(python)
    • Python实现测试磁盘性能的方法
    上一篇:python 统计代码耗时的几种方法分享
    下一篇:python 如何在 Matplotlib 中绘制垂直线
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python 遍历磁盘目录的三种方法 python,遍历,磁盘,目录,的,