1、使用glob()
from glob import glob
file_path=r'C:\Users\Administrator\Desktop\test3\hymenoptera_data\train\*\*.jpg'
images_path=glob(file_path) #获取所有图像路径
2、使用os
import os
from PIL import Image
names=r'C:\Users\Administrator\Desktop\test3\hymenoptera_data'
filepath=[]
def Directory_parse(names,filepath=[]):
'''解析jpg文件的路径,类似于glob()'''
for _, dirs, filename2 in os.walk(names):# dirs 对应文件夹(集合),filename2 对应文件(集合)
if len(filename2):
for filename3 in filename2:
if filename3.endswith(".jpg") or filename3.endswith(".jpeg"): #查找出tif,tiff格式文件
filepath.append(os.path.join(names,filename3))
if len(dirs): # 文件夹(有可能是多重文件夹)
for dirss in dirs:
Directory_parse(os.path.join(names, dirss),filepath)
Directory_parse(names,filepath)
files=[]
for file in filepath:
try:
img=Image.open(file)
except:
files.append(file)
print(len(files))
print(len(filepath))
总结:推荐使用glob
另外tensorflow中也有glob模块
import tensorflow as tf
tf.gfile.Glob('file_path')