Python3遍历目录树实现方法

594次阅读  |  发布于5年以前

本文实例讲述了Python3遍历目录树的方法。分享给大家供大家参考。具体实现方法如下:


    import os, fnmatch
    # 检查一个目录,后者某个包含子目录的目录树,并根据某种模式迭代所有文件
    # patterns如:*.html,若大小写敏感可写*.[Hh][Tt][Mm][Ll] 
    # single_level 为True表示只检查第一层 
    # yield_folders 表示是否显示子目录,为False只遍历子目录中的文件,
    # 但不返回字母名 
    def all_files(root, patterns='*', single_level=False, yield_folders=False): 
      # 将模式从字符串中取出放入列表中 
      patterns = patterns.split(';') 
      for path, subdirs, files in os.walk(root): 
        if yield_folders: 
          files.extend(subdirs) 
        files.sort() 
        for name in files: 
          for pattern in patterns: 
            if fnmatch.fnmatch(name, pattern): 
              yield os.path.join(path, name) 
              break 
        if single_level: 
          break 
    for file in all_files('d:\\pm', '*.s;*.c', False, False):
      print(file) 

希望本文所述对大家的Python3程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8