本文实例讲述了Python3遍历目录树的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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程序设计有所帮助。