本文實例講述了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程序設計有所幫助。