python遍历目录下的所有文件和目录详细介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_29957455/article/details/82778306

目录结构如下图:

test---a------d------g--------g.txt

test---a------d------a.txt

test---a------e

--------b

--------c

--------1.txt

--------2.txt

一、使用os.walk遍历所有的目录和文件

1、获取test目录下的所有文件

    for root,dirs,files in os.walk(r"D:\test"):
        for file in files:
            #获取文件所属目录
            print(root)
            #获取文件路径
            print(os.path.join(root,file))

2、获取test目录下的所有目录

    for root,dirs,files in os.walk(r"D:\test"):
        for dir in dirs:
            #获取目录的名称
            print(dir)
            #获取目录的路径
            print(os.path.join(root,dir))

 

二、利用os.listdir递归获取所有的目录路径和文件路径

def get_file_path(root_path,file_list,dir_list):
    #获取该目录下所有的文件名称和目录名称
    dir_or_files = os.listdir(root_path)
    for dir_file in dir_or_files:
        #获取目录或者文件的路径
        dir_file_path = os.path.join(root_path,dir_file)
        #判断该路径为文件还是路径
        if os.path.isdir(dir_file_path):
            dir_list.append(dir_file_path)
            #递归获取所有文件和目录的路径
            get_file_path(dir_file_path,file_list,dir_list)
        else:
            file_list.append(dir_file_path)

if __name__ == "__main__":
    #根目录路径
    root_path = r"D:\test"
    #用来存放所有的文件路径
    file_list = []
    #用来存放所有的目录路径
    dir_list = []
    get_file_path(root_path,file_list,dir_list)
    print(file_list)
    print(dir_list)

猜你喜欢

转载自blog.csdn.net/sinat_29957455/article/details/82778306