glob的應用場景是要尋找一系列(符合特定規則)檔名。
glob模組是最簡單的模組之一,內容非常少。用它可以查詢符合特定規則的檔案路徑名。
查詢檔案只用到三個匹配符:」*」, 「?」, 「」。
」*」匹配0個或多個字元;
」?」匹配單個字元;
」[ ]」匹配指定範圍內的字元,如:[0-9]匹配數字。
假設以下例子目錄是這樣的。
1、匹配所有檔案:可以用*匹配任意長度位元組。glob.glob比較常用,返回乙個list,
也可用glob.iglob返回生成器。
import glob
glob.glob('./desktop/dir/*')
out[42]:
['./desktop/dir\\file.txt',
'./desktop/dir\\file1.txt',
'./desktop/dir\\file2.txt',
'./desktop/dir\\filea.txt',
'./desktop/dir\\fileb.txt',
'./desktop/dir\\subdir']
glob.glob('./desktop/dir/*/*')
out[43]: ['./desktop/dir\\subdir\\subflie.txt']
匹配子目錄檔案
可以指定子目錄名稱,也可以用萬用字元代替,不顯示指定。
print('named explicitly:')
for name in glob.glob('desktop/dir/subdir/*'):
print('\t', name)
print('named with wildcard:')
for name in glob.glob('desktop/dir/*/*'):
print('\t', name)
named explicitly:
desktop/dir/subdir\subflie.txt
named with wildcard:
desktop/dir\subdir\subflie.txt
2、單位元組萬用字元匹配,除了*以外,還有?匹配單個字元。比如下面這個例子,
匹配以file開頭,以.txt結尾,中間是任一字元的檔案。
for name in glob.glob('desktop/dir/file?.txt'):
print(name)
desktop/dir\file1.txt
desktop/dir\file2.txt
desktop/dir\filea.txt
desktop/dir\fileb.txt
3、字元區間匹配[0-9],比如匹配字尾前是數字的檔案。
for name in glob.glob('desktop/dir/*[0-9].*'):
print(name)
desktop/dir\file1.txt
desktop/dir\file2.txt
Python glob匹配檔案
glob的應用場景是要尋找一系列 符合特定規則 檔名,本文簡要介紹,原文見python glob匹配檔案。glob模組是最簡單的模組之一,內容非常少。用它可以查詢符合特定規則的檔案路徑名。查詢檔案只用到三個匹配符 假設以下例子目錄是這樣的。dir dir file.txt dir file1.txt...
python glob模組的應用
近期專案差不多了,回頭學習基礎的知識,今天看到了,glob模組感覺很不錯,寫出來備忘。glob模組可以幫助我們快速的查詢到系統的檔案,或者檢視,不用去呼叫本身的os,模組了,快捷簡便,支援簡單正則 查詢檔案只用到三個匹配符 匹配0個或多個字元 匹配單個字元 匹配指定範圍內的字元,如 0 9 匹配數字...
python glob模組掃瞄檔案目錄
1 glob模組是最簡單的模組之一,內容非常少。用它可以查詢符合特定規則的檔案路徑名。跟使用windows下的檔案搜尋差不多。查詢檔案只用到三個匹配符 匹配0個或多個字元 匹配單個字元 匹配指定範圍內的字元,如 0 9 匹配數字。glob.glob pathname 返回所有匹配的檔案路徑列表。它只...