功能
其中Path代表文件夹的路径 ,layer代表读取文件夹的深度 ,例如0代表要读取的深度中没有次级文件夹,1代表有一个次级文件夹,注意读取的是存放在layer深度的所有文件,浅一级的深度不做读取。
代码
import os
def readFileDocument(path,layer):#采用递归的方法读取文件
layerN =layer
fileDocument = os.listdir(path)
subDocument = []
for document in fileDocument:
if layerN>0:
#如果是文件夹继续读取
if (os.path.isdir(path + '/' + document, )):
subDocument.append((readFileDocument(path+'/'+document,layerN-1)))
else:
subDocument.append(path + '/' + document)
return subDocument
#使用范例,读取深度为1的所有文件名
path=r'F:\BaiduNetdiskDownload\DATA\train'
location = readFileDocument(path,1)
返回的值
返回的值为一个(layer+1)维列表 ,列表中的值为文件的绝对路径
读取方法为双重循环读取,如(接上题读取layer=1的二维列表):
for document in location:
for name in document:
print(name)#输出绝对路径