使用os.walk和os.path.join来遍历文件夹的文件

os.walk函数说明如下图:

使用os.walk和os.path.join来遍历文件夹的文件_第1张图片

因此,遍历文件夹中所有文件(包括子目录中的)的代码如下:

 

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

你可能感兴趣的:(使用os.walk和os.path.join来遍历文件夹的文件)