glob模塊是最簡單的模塊之一,內容非常少。
用它可以查找符合特定規則的文件路徑名。跟使用windows下的文件搜索差不多。
查找文件只用到三個匹配符:”*”, “?”, “[]”。
”*”匹配0個或多個字符;”?”匹配單個字符;”[]”匹配指定范圍內的字符,如:[0-9]匹配數字。
glob.glob
返回所有匹配的文件路徑列表。它只有一個參數pathname,定義了文件路徑匹配規則,這里可以是絕對路徑,也可以是相對路徑。下面是使用glob.glob的例子:
1 import glob 2 3 #獲取指定目錄下的所有圖片 4 print(glob.glob(r"E:/Picture/*/*.jpg")) 5 6 #獲取上級目錄的所有.py文件 7 print(glob.glob(r'../*.py')) #相對路徑
glob.iglob
獲取一個可編歷對象,使用它可以逐個獲取匹配的文件路徑名。與glob.glob()的區別是:glob.glob同時獲取所有的匹配路徑,而glob.iglob一次只獲取一個匹配路徑。這有點類似於.NET中操作數據庫用到的DataSet與DataReader。下面是一個簡單的例子:
1 import glob 2 3 #父目錄中的.py文件 4 f = glob.iglob(r'../*.py') 5 6 print(f) #<generator object iglob at 0x00B9FF80> 7 8 for py in f: 9 print(py)