Python3 获取文件夹中的所有文件

2018-07-28  本文已影响0人  虾米娃娃
import os

def cir_dir(dirs, all_files=[]):
    if isinstance(dirs,str):#在一开始把函数调用时输入路径字符串转换为列表
        dirs = [dirs]
    for i in dirs:#遍历文件夹路径的容器
        if os.path.isdir(i):
            os.chdir(i)#改变默认路径
            current_list = os.listdir()#获取当前路径下的文件夹和文件
            files = filter(os.path.isfile, current_list)#滤出文件
            files = map(lambda x: os.path.join(os.getcwd(), x), files)#拼接文件绝对路径
            all_files.extend(list(files))#文件放入容器中
            dirs = filter(os.path.isdir, current_list)#滤出文件夹
            dirs = map(lambda x: os.path.join(os.getcwd(), x), dirs)#拼接文件夹绝对路径
            cir_dir(list(dirs), all_files)#递归
        else:
            all_files.append(i)
    return all_files

files = cir_dir('/')
print(files)
上一篇下一篇

猜你喜欢

热点阅读