glob模組是最簡單的模組之一,內容非常少。用它可以查詢符合特定規則的檔案路徑名。跟使用windows下的檔案搜尋差不多。查詢檔案只用到三個匹配符:"*", "?", "[]"。"*"匹配0個或多個字元;"?"匹配單個字元;"[]"匹配指定範圍內的字元,如:[0-9]匹配數字。

glob.glob

  返回所有匹配的檔案路徑列表。它只有一個引數pathname,定義了檔案路徑匹配規則,這裡可以是絕對路徑,也可以是相對路徑。下面是使用glob.glob的例子:

  1. import glob  
  2. #獲取指定目錄下的所有圖片  
  3. print glob.glob(r"E:\Picture\*\*.jpg")  
  4. #獲取上級目錄的所有.py檔案  
  5. print glob.glob(r'../*.py') #相對路徑  

import glob#獲取指定目錄下的所有圖片print glob.glob(r"E:\Picture\*\*.jpg")#獲取上級目錄的所有.py檔案print glob.glob(r'../*.py') #相對路徑

glob.iglob

  獲取一個可編歷物件,使用它可以逐個獲取匹配的檔案路徑名。與glob.glob()的區別是:glob.glob同時獲取所有的匹配路徑,而 glob.iglob一次只獲取一個匹配路徑。這有點類似於.NET中操作資料庫用到的DataSet與DataReader。下面是一個簡單的例子:

  1. import glob  
  2. #父目錄中的.py檔案  
  3. f = glob.iglob(r'../*.py')  
  4. print f #<generator object iglob at 0x00B9FF80>  
  5. for py in f:  
  6.     print py  

import glob#父目錄中的.py檔案f = glob.iglob(r'../*.py')print f #<generator object iglob at 0x00B9FF80>for py in f:print py

  It's so easy, is't it?