1. glob在Python中作用
python在模塊glob中定義了glob()函數(shù)真慢,實(shí)現(xiàn)了對(duì)目錄內(nèi)容進(jìn)行匹配的功能斜纪,glob.glob()函數(shù)接受通配模式作為輸入矾端,并返回所有匹配的文件名和路徑名列表
與os.listdir類似
2.glob模塊常用的函數(shù)
- glob(pathname, recursive=False)
第一個(gè)參數(shù)pathname為需要匹配的字符串。(該參數(shù)應(yīng)盡量加上r前綴棍厌,以免發(fā)生不必要的錯(cuò)誤,r的作用就是匹配的字符串不轉(zhuǎn)義,例如r'\n'就是'\n'字符串不會(huì)被轉(zhuǎn)義為換行符)
第二個(gè)參數(shù)代表遞歸調(diào)用竖席,與特殊通配符“**”一同使用耘纱,默認(rèn)為False。
該函數(shù)返回一個(gè)符合條件的路徑的字符串列表毕荐,如果使用的是Windows系統(tǒng)束析,路徑上的“\”符號(hào)會(huì)自動(dòng)加上轉(zhuǎn)義符號(hào)變?yōu)椤癨”。
- iglob(pathname, recursive=False)
參數(shù)與glob()一致憎亚。
返回一個(gè)迭代器员寇,該迭代器不會(huì)同時(shí)保存所有匹配到的路徑,而是逐個(gè)獲取匹配的文件路徑名第美,遍歷該迭代器的結(jié)果與使用相同參數(shù)調(diào)用glob()的返回結(jié)果一致蝶锋。
3. glob模塊支持的通配符
通配符 | 功能 |
---|---|
* | 匹配0或多個(gè)字符 |
** | 匹配所有文件,目錄,子目錄和子目錄里面的文件 (3.5版本新增) |
? | 匹配一個(gè)字符,這里與正則表達(dá)式? (正則?匹配前面表達(dá)式0次或者1次) |
[exp] | 匹配指定范圍內(nèi)的字符,如: [1-9]匹配1至9內(nèi)的字符 |
[!exp] | 匹配不在指定范圍內(nèi)的字符 |
4.示例代碼
'''
匹配項(xiàng)目中所有的jpg文件
file = glob.glob("*.jpg")
print(file)
['1.jpg', 'code.jpg', 'dim.jpg', 'thumbnial.jpg']
'''