本文实例讲述了Python读取一个目录下所有目录和文件的方法。分享给大家供大家参考,具体如下:
这里介绍的是刚学python时的一个读取目录的列子,给大家分享下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#!/usr/bin/python # -*- coding:utf8 -*- import os allFileNum = 0 def printPath(level, path): global allFileNum ''' 打印一个目录下的所有文件夹和文件 ''' # 所有文件夹,第一个字段是次目录的级别 dirList = [] # 所有文件 fileList = [] # 返回一个列表,其中包含在目录条目的名称(google翻译) files = os.listdir(path) # 先添加目录级别 dirList.append( str (level)) for f in files: if (os.path.isdir(path + '/' + f)): # 排除隐藏文件夹。因为隐藏文件夹过多 if (f[ 0 ] = = '.' ): pass else : # 添加非隐藏文件夹 dirList.append(f) if (os.path.isfile(path + '/' + f)): # 添加文件 fileList.append(f) # 当一个标志使用,文件夹列表第一个级别不打印 i_dl = 0 for dl in dirList: if (i_dl = = 0 ): i_dl = i_dl + 1 else : # 打印至控制台,不是第一个的目录 print '-' * ( int (dirList[ 0 ])), dl # 打印目录下的所有文件夹和文件,目录级别+1 printPath(( int (dirList[ 0 ]) + 1 ), path + '/' + dl) for fl in fileList: # 打印文件 print '-' * ( int (dirList[ 0 ])), fl # 随便计算一下有多少个文件 allFileNum = allFileNum + 1 if __name__ = = '__main__' : printPath( 1 , '/home/test/' ) print '总文件数 =' , allFileNum |
希望本文所述对大家Python程序设计有所帮助。