1. 文件夾準備
測試的材料是創建在桌面上的demo文件夾,裏面分別有的內容如下,其中只有照片、張三和張三的小三文件夾下有內容,要查找的文件夾在位置分別在
① demo文件下面的張三文件夾
② 張三的小三下面的張三文件夾
①中張三文件夾下的內容如下:
②中張三文件夾下的內容如下:
2. 預備知識
一共需要四個知識點:
① 遍歷指定路徑下所有的內容(包括文件和文件夾)
glob.glob(path, recursive = True)
② 獲取路徑的最後的文件/文件夾名稱,判斷是否爲匹配的路徑,如果是查找文件夾就是等於符號,如果要判斷的文件,就是in的成員判斷符號
os.path.basename(file) == keyword #判斷文件夾
#keyword in os.path.basename(file) 判斷文件
③ 輸出一個路徑下的全部內容(包括文件和文件夾)
os.listdir(file)
④ 文件路徑的拼接,爲了避免符號的影響,可以使用下面的方法
os.path.join(input('請輸入要搜索的路徑:'),'**')
3. 全部代碼
這裏是保留了接口,測試的時候直接賦值path和keyword,在使用的時候可以將這兩個語句刪除,然後將上面的兩個註釋打開運行,輸入自己的要查找的文件路徑和關鍵詞即可
import os
import glob
def get_dir_site(path,keyword):
files_list = glob.glob(path, recursive = True)
#print(files_list)
n = 1
for file in files_list:
if os.path.basename(file) == keyword:
print(f'已找到匹配的第{n}個{keyword}文件夾,文件路徑爲{file}')
print(f'該文件夾下的內容有{os.listdir(file)}\n')
n += 1
if __name__ == '__main__':
# path = os.path.join(input('請輸入要搜索的路徑:'),'**')
# keyword = input('請輸入要搜索的關鍵詞:')
path = 'C:\\Users\\86177\\Desktop\\demo\\**'
keyword = '張三'
get_dir_site(path,keyword)
4. 輸出結果
文件查找器的邏輯類似,前面已經在預備知識中提及了,有需要的話可以自己調試一下