1. 程式人生 > >Python---讀圖(glob讀取圖片檔案列表)

Python---讀圖(glob讀取圖片檔案列表)

深度學習中常用的讀圖方式:

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圖片路徑名稱;