python使用glob檢索文件的操作
from glob import globglob(’./*’)Output: [’./0a.wav’, ’./aaa’, ’./1b.wav’, ’./1a.wav’, ’./0b.wav’] #返回一個(gè)list二、檢索當(dāng)前目錄下指定后綴名文件
假設(shè)我們需要獲取當(dāng)前文件夾下所有后綴名為'.wav'的文件,
from glob import globglob(’./*.wav’)Output: [’./0a.wav’, ’./1b.wav’, ’./1a.wav’, ’./0b.wav’] #返回一個(gè)包含'.wav'文件路徑的list二、檢索當(dāng)前目錄下包含指定字符文件
假設(shè)我們需要獲得所有包含'a'字符的'.wav'文件,
from glob import globglob(’./*a*.wav’)Output: [’./0a.wav’, ’./1a.wav’] #返回一個(gè)包含'.wav'文件路徑的list
補(bǔ)充:Python 中的glob模塊使用筆記(用它來(lái)遍歷文件夾、文件真的很方便)
glob模塊簡(jiǎn)介glob是python自己帶的一個(gè)文件操作相關(guān)模塊,用它可以查找符合自己目的的文件,就類(lèi)似于Windows下的文件搜索,支持通配符操作。
glob中支持的通配符有三種:
‘*’ 匹配0個(gè)或多個(gè)字符‘?’ 僅匹配一個(gè)字符‘[]’ 匹配指定范圍內(nèi)的字符,如[0-9]匹配數(shù)字
用圖片中的文件夾作為例子進(jìn)行演示
該方法返回所有匹配的文件路徑列表。
該方法需要一個(gè)參數(shù)用來(lái)指定要匹配的文件路徑(字符串類(lèi)型)絕對(duì)路徑、相對(duì)路徑。
1.匹配某指定路徑下后綴為.exe的文件(絕對(duì)路徑)In:from glob import globfile = glob(r’D:masm*.EXE’)print(type(file))print(file)Out:<class ’list’>[’D:masmCREF.EXE’, ’D:masmdebug.exe’, ’D:masmDEBUG32.EXE’, ’D:masmERROUT.EXE’, ’D:masmEXEMOD.EXE’, ’D:masmEXEPACK.EXE’, ’D:masmLIB.EXE’, ’D:masmLINK.EXE’, ’D:masmMASM.EXE’, ’D:masmSETENV.EXE’, ’D:masmTEST2.EXE’, ’D:masmTEST3.EXE’, ’D:masmTEST4.EXE’, ’D:masmTEST5.EXE’, ’D:masmTEST6.EXE’]2.匹配某指定路徑下的所有文件(絕對(duì)路徑)
In:from glob import globfile = glob(r’D:masm**’)print(type(file))print(file)Out:<class ’list’>[’D:masmworkhello.asm’, ’D:masmworkHELLO.OBJ’, ’D:masmworktest1.asm’, ’D:masmworkTEST1.OBJ’, ’D:masmworktest2.asm’, ’D:masmworkTEST2.OBJ’, ’D:masmworktest3.asm’, ’D:masmworkTEST3.OBJ’, ’D:masmworktest4.asm’, ’D:masmworkTEST4.OBJ’, ’D:masmworktwo’]3.使用相對(duì)路徑來(lái)進(jìn)行匹配
’.’ 指代當(dāng)前目錄
’. . ’ 指代當(dāng)前目錄的上一級(jí)目錄
In:from glob import globfile = glob(r’..*’)print(type(file))print(file)Out:<class ’list’>[’..12306’, ’..Auto connection school network’, ’..cache’, ’..class’, ’..exercise_1.py’, ’..exercise_2-2.py’, ’..exercise_2-3.py’, ’..exercise_2.py’, ’..regular’, ’..taobao’, ’..test.py’, ’..testglob’, ’..UDPClient’]
獲取一個(gè)生成器( generator)對(duì)象,使用它可以逐個(gè)獲取匹配的文件路徑名。與glob.glob()的區(qū)別是:glob.glob同時(shí)獲取所有的匹配路徑,而 glob.iglob一次只獲取一個(gè)匹配路徑。
In:from glob import iglobfile = iglob(r’..*.py’)print(type(file))print(file)n=0for i in file: n=n+1 print(str(n),i)Out:<class ’generator’><generator object _iglob at 0x000001AEBE4D3B10>1 ..exercise_1.py2 ..exercise_2-2.py3 ..exercise_2-3.py4 ..exercise_2.py5 ..test.py
通過(guò)示例中的for循環(huán)可以看到,生成器對(duì)象會(huì)依次給出要匹配路徑下的文件。
相關(guān)文章:
1. php測(cè)試程序運(yùn)行速度和頁(yè)面執(zhí)行速度的代碼2. ASP中常用的22個(gè)FSO文件操作函數(shù)整理3. 三個(gè)不常見(jiàn)的 HTML5 實(shí)用新特性簡(jiǎn)介4. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報(bào)錯(cuò)問(wèn)題分析5. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp6. SharePoint Server 2019新特性介紹7. React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程8. 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過(guò)程解析10. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究
