glob模塊是最簡(jiǎn)單的模塊之一,內(nèi)容非常少。用它可以查找符合特定規(guī)則的文件路徑名。跟使用windows下的文件搜索差不多。查找文件只用到三個(gè)匹配符:"*", "?", "[]"。"*"匹配0個(gè)或多個(gè)字符;"?"匹配單個(gè)字符;"[]"匹配指定范圍內(nèi)的字符,如:[0-9]匹配數(shù)字。
glob.glob
返回所有匹配的文件路徑列表。它只有一個(gè)參數(shù)pathname,定義了文件路徑匹配規(guī)則,這里可以是絕對(duì)路徑,也可以是相對(duì)路徑。下面是使用glob.glob的例子:
-
import glob
-
-
#獲取指定目錄下的所有圖片
-
print glob.glob(r"E:\Picture\*\*.jpg")
-
-
#獲取上級(jí)目錄的所有.py文件
-
print glob.glob(r'../*.py') #相對(duì)路徑
import glob #獲取指定目錄下的所有圖片 print glob.glob(r"E:\Picture\*\*.jpg") #獲取上級(jí)目錄的所有.py文件 print glob.glob(r'../*.py') #相對(duì)路徑
glob.iglob
獲取一個(gè)可編歷對(duì)象,使用它可以逐個(gè)獲取匹配的文件路徑名。與glob.glob()的區(qū)別是:glob.glob同時(shí)獲取所有的匹配路徑,而 glob.iglob一次只獲取一個(gè)匹配路徑。這有點(diǎn)類似于.NET中操作數(shù)據(jù)庫(kù)用到的DataSet與DataReader。下面是一個(gè)簡(jiǎn)單的例子:
-
import glob
-
-
#父目錄中的.py文件
-
f = glob.iglob(r'../*.py')
-
-
print f #<generator object iglob at 0x00B9FF80>
-
-
for py in f:
-
print py
import glob #父目錄中的.py文件 f = glob.iglob(r'../*.py') print f #<generator object iglob at 0x00B9FF80> for py in f: print py
自己做的實(shí)驗(yàn)
會(huì)將/home/sun/ptest也打印出來
import glob
f = glob.glob(r'/home/sun/ptest/*.py')
print f
直接打印文件名稱
import glob
f = glob.glob(r'*.py')
print f
|