本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》