glob模塊
import glob
# path = r"E:\Python\code\*.txt" # * 匹配0個(gè)或多個(gè)字符 匹配后綴名 .txt 的文件
# path = r"E:\Python\code\z?.*" # ? 匹配 z1.py z9.py ze.py z3.num.sort.py z9.txt # 等文件
# path = r"E:\Python\code\*[0-9]*" # [] 匹配指定范圍內(nèi)的字符,比如:[0-9]匹配數(shù)字,[a-z]匹配小寫字母 匹配文件名中有數(shù)字的文件。也會(huì)匹配到含數(shù)字名的文件夾
# path = r"E:\Python\code\*class*" # 文件名中含有 class 的文件
path2 = r"E:\Python\code\**\*lambda*" # ** 匹配所有文件、目錄、子目錄以及子目錄中的文件 找出文件名含 lambda 的文件名 (包含子目錄)
# lst = glob.glob(path)
lst = glob.glob(path2, recursive=True) # 匹配子目錄下時(shí),要帶參數(shù) recursive=True
# recursive=False:代表遞歸調(diào)用,與特殊通配符“**”一同使用,默認(rèn)為False,F(xiàn)alse表示不遞歸調(diào)用,True表示遞歸調(diào)用
for id, txt in enumerate(lst, 1):
print(id, txt)
glob是python中的內(nèi)置模塊,該模塊主要是用來(lái)查找文件與目錄。
* 匹配0或多個(gè)字符
** 匹配所有文件,目錄,子目錄和子目錄里面的文件 (3.5版本新增)
? 匹配一個(gè)字符,這里與正則表達(dá)式? (正則?匹配前面表達(dá)式0次或者1次)
[] 匹配指定范圍內(nèi)的字符,如: [1-9]匹配1至9內(nèi)的字符
[!] 匹配不在指定范圍內(nèi)的字符
glob模塊的主要方法是glob(),該方法返回所有匹配的文件路徑列表,該方法需要一個(gè)參數(shù)用來(lái)指定匹配的路徑字符串(本字符串可以為絕對(duì)路徑也可以為相對(duì)路徑);返回值:返回的文件名只包括當(dāng)前目錄里的文件名,不包括子文件夾里的文件。

浙公網(wǎng)安備 33010602011771號(hào)