glob模組是最簡單的模組之一,內容非常少。用它可以找到符合特定規則的檔案路徑名。跟使用windows下的檔案搜尋差不多。尋找檔案只用到三個符合:”*”, “?”, “[]“。 ”*”匹配0個或多個字符;”?”匹配單個字符;”[]“匹配指定範圍內的字符,如:[0-9]匹配數字。
glob.glob
傳回所有符合的檔案路徑清單。它只有一個參數pathname,定義了檔案路徑比對規則,這裡可以是絕對路徑,也可以是相對路徑。以下是使用glob.glob的範例:
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。下面是一個簡單的例子:
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?