os.walk函数说明如下图:
因此,遍历文件夹中所有文件(包括子目录中的)的代码如下:
import os
import time
#函数返回(文件数,目录数)元组
def Dir_traverse(dir_path):
#首先判断是否是有效路径
if os.path.isdir(dir_path)==False:
return (0,0)
else:
file_sum=0 #用于统计总的文件数
dir_sum=0 #用于统计目录数
for dirname,dirs,filenames in os.walk(dir_path):
for file in filenames:
abspath=os.path.join(dirname,file)
print abspath+" "+time.asctime(time.localtime(os.path.getatime(abspath)))
file_sum=file_sum+1
for dir in dirs:
absdir=os.path.join(dirname,dir)
print absdir
dir_sum=dir_sum+1
return file_sum,dir_sum
def Number_dir(top):
"""该函数用于获取输入目录下的文件夹数目,即区别于上面函数获取文件夹数的另一种方法"""
sum=0
for dirname,dirs,filenames in os.walk(top):
print dirname
sum=sum+1
sum=sum-1 #减1是因为上面将输入的顶级目录也计算在内
return sum
path="/root/Desktop/wordpress/"
#print Number_dir(path)
sum=Dir_traverse(path)
print sum