深度学习中常用的读图方式:
glob
用它可以查找符合特定规则的文件路径名。查找文件只用到三个匹配符:”*”, “?”, “[]”;
”*”匹配0个或多个字符;
”?”匹配单个字符;
”[]”匹配指定范围内的字符,如:[0-9]匹配数字;
glob.glob
返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。
import glob #获取指定目录下的所有图片 print glob.glob(r"E:/Picture/*/*.jpg") #获取上级目录的所有.py文件 print glob.glob(r'../*.py') #相对路径
glob.iglob
获取一个可编历对象,使用它可以逐个获取匹配的文件路径名。与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而glob.iglob一次只获取一个匹配路径。import glob #父目录中的.py文件 f = glob.iglob(r'../*.py') print f #<generator object iglob at 0x00B9FF80> for py in f: print py获取images/training文件夹中的所有jpg图片文件列表:
import os import glob image_dir = r"C:\Users\Administrator\Desktop"; file_glob = os.path.join(image_dir,"images","training","*."+"jpg") print(file_glob) file_list = [] file_list.extend(glob.glob(file_glob)) print(file_list)结果如下:
C:\Users\Administrator\Desktop\images\training\*.jpg
['C:\\Users\\Administrator\\Desktop\\images\\training\\TJ_3.JPG', 'C:\\Users\\Ad
ministrator\\Desktop\\images\\training\\TJ_S.JPG']
注释:
file_glob对应的是C:\Users\Administrator\Desktop\images\training\路径下*.jpg的规则;
glob.glob(file_glob)则返回所有符合规则的jpg图片路径名称;