Python glob模組匹配檔案

2021-08-28 10:15:09 字數 1530 閱讀 2829

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 返回所有匹配的檔案路徑列表。它只...