萬用字元是一些特殊符號,主要有星號(*)和問號(?),用來模糊搜尋檔案,「*」可以匹配任意個數個符號, 「?」可以匹配單個字元。當查詢檔案夾時,可以使用它來代替乙個或多個真正字元;當不知道真正字元或者需要匹配符合一定條件的多個目標檔案時,可以使用萬用字元代替乙個或多個真正的字元。
英文 「globbing」意為統配,python在模組glob中定義了glob()函式,實現了對目錄內容進行匹配的功能,glob.glob()函式接受通配模式作為輸入,並返回所有匹配的檔名和路徑名列表,與os.listdir類似。
glob模組中的常用函式:
glob(pathname, recursive=false)
第乙個引數pathname為需要匹配的字串。(該引數應盡量加上r字首,以免發生不必要的錯誤)
第二個引數代表遞迴呼叫,與特殊萬用字元「**」一同使用,預設為false。
該函式返回乙個符合條件的路徑的字串列表,如果使用的是windows系統,路徑上的「\」符號會自動加上轉義符號變為「\\」。
iglob(pathname, recursive=false)
引數與glob()一致。
返回乙個迭代器,該迭代器不會同時儲存所有匹配到的路徑,而是逐個獲取匹配的檔案路徑名,遍歷該迭代器的結果與使用相同引數呼叫glob()的返回結果一致。
glob模組支援的萬用字元:
萬用字元功能
*匹配0或多個字元
**匹配所有檔案、目錄、子目錄和子目錄裡的檔案(3.5版本新增)
?匹配1個字元,與正規表示式裡的?不同
[exp]
匹配指定範圍內的字元,如:[1-9]匹配1至9範圍內的字元
[!exp]
匹配不在指定範圍內的字元
glob.glob函式使用示例
import glob
listglob =
listglob = glob.glob(r"/home/***/picture/*.png")
listglob.sort()
print listglob
print '--------------------'
listglob = glob.glob(r"/home/***/picture/0?.png")
listglob.sort()
print listglob
print '--------------------'
listglob = glob.glob(r"/home/***/picture/0[0,1,2].png")
listglob.sort()
print listglob
print '--------------------'
listglob = glob.glob(r"/home/***/picture/0[0-3].png")
listglob.sort()
print listglob
print '--------------------'
listglob = glob.iglob(r"/home/***/picture/0[a-z].png")
print listglob
for item in listglob:
print item
python萬用字元之glob模組
萬用字元是一些特殊符號,主要有星號 和問號 用來模糊搜尋檔案,可以匹配任意個數個符號,可以匹配單個字元。當查詢檔案夾時,可以使用它來代替乙個或多個真正字元 當不知道真正字元或者需要匹配符合一定條件的多個目標檔案時,可以使用萬用字元代替乙個或多個真正的字元。英文 globbing 意為統配,pytho...
python萬用字元之glob模組
萬用字元是一些特殊符號,主要有星號 和問號 用來模糊搜尋檔案,可以匹配任意個數個符號,可以匹配單個字元。當查詢檔案夾時,可以使用它來代替乙個或多個真正字元 當不知道真正字元或者需要匹配符合一定條件的多個目標檔案時,可以使用萬用字元代替乙個或多個真正的字元。英文 globbing 意為統配,pytho...
python標準庫之glob
python標準庫之glob介紹 glob 檔名模式匹配,不用遍歷整個目錄判斷每個檔案是不是符合。1 萬用字元 星號 匹配零個或多個字元 import glob for name in glob.glob dir print name 複製 dir file.txt dir file1.txt di...