python 模糊匹配文件名 glob_Python: glob匹配文件
Python基礎(chǔ)文章集合請(qǐng)移步。
glob模塊實(shí)例詳解
glob的應(yīng)用場(chǎng)景是要尋找一系列(符合特定規(guī)則)文件名。
glob模塊是最簡(jiǎn)單的模塊之一,內(nèi)容非常少。用它可以查找符合特定規(guī)則的文件路徑名。查找文件只用到三個(gè)匹配符:”*”, “?”, “[]”。
”*”匹配0個(gè)或多個(gè)字符;
”?”匹配單個(gè)字符;
”[ ]”匹配指定范圍內(nèi)的字符,如:[0-9]匹配數(shù)字。
假設(shè)以下例子目錄是這樣的。
dir
dir/file.txt
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt
dir/subdir
dir/subdir/subfile.txt
匹配所有文件
可以用*匹配任意長(zhǎng)度字節(jié)。glob.glob比較常用,返回一個(gè)list,也可用glob.iglob返回生成器。
import glob
for name in glob.glob('dir/*'):
print name
dir/file.txt
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt
dir/subdir
匹配子目錄文件
可以指定子目錄名稱,也可以用通配符代替,不顯示指定。
print 'Named explicitly:'
for name in glob.glob('dir/subdir/*'):
print '\t', name
print 'Named with wildcard:'
for name in glob.glob('dir/*/*'):
print '\t', name
Named explicitly:
dir/subdir/subfile.txt
Named with wildcard:
dir/subdir/subfile.txt
單字節(jié)通配符匹配
除了*以外,還有?匹配單個(gè)字符。比如下面這個(gè)例子,匹配以file開(kāi)頭,以.txt結(jié)尾,中間是任一字符的文件。
for name in glob.glob('dir/file?.txt'):
print name
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt
字符區(qū)間匹配[0-9]
比如匹配后綴前是數(shù)字的文件。
for name in glob.glob('dir/*[0-9].*'):
print name
dir/file1.txt
dir/file2.txt
Ref:
總結(jié)
以上是生活随笔為你收集整理的python 模糊匹配文件名 glob_Python: glob匹配文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据库语法_圣诞快乐:用GaussDB
- 下一篇: stm32中断优先级_关于STM32 (