1 介紹
glob模塊用來(lái)查找文件目錄和文件,并將搜索得到的結(jié)果返回到一個(gè)列表中,常見(jiàn)的兩個(gè)方法有g(shù)lob.glob()和glob.iglob(), 可以和常用的find功能進(jìn)行類(lèi)比,glob支持 *、?、[]這三種通配符。
2.三種通配符的含義
- “*”:代表0個(gè)或多個(gè)字符;
-“?”:代表有一個(gè)字符;
-“[]”: 匹配指定范圍內(nèi)的字符,如[0-9]匹配數(shù)字;
3.使用方式
- import glob # 導(dǎo)入整個(gè)glob模塊
- from glob import glob #從glob模塊導(dǎo)入glob函數(shù)
4.示例
#1. 定義一個(gè)函數(shù),搜索C盤(pán)下的所有文件和目錄,并返回一個(gè)列表(這里使用import glob方式)
import glob
def search():
f = glob.glob(r'c:\*') # glob.glob表示glob模塊下的glob函數(shù)
printf(f)
if __name__ == '__main__':
search()
# 2. 定義一個(gè)函數(shù)查詢(xún)E盤(pán)中以.exe結(jié)尾的文件有哪些(這里使用from glob import glob)
from glob import glob
def search():
f = glob(r'e:\*.exe') # 直接調(diào)用函數(shù)
for i in f:
printf(i)
if __name__ == "__main__":
search()
5. glob.iglob()函數(shù)
獲取一個(gè)可編歷對(duì)象,使用它可以逐個(gè)獲取匹配的文件路徑名。
與glob.glob()的區(qū)別是:glob.glob()可同時(shí)獲取所有的匹配路徑,而glob.iglob()一次只能獲取一個(gè)匹配路徑。
import glob
# 父目錄中的.py文件
f = glob.iglob(r'../*.py')
printf(f) #
for py in f:
printf(py)