【python辦公自動化22】文件夾查找器(指定路徑下輸入關鍵詞獲得文件夾的位置及該文件夾下的文件內容)

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. 輸出結果

文件查找器的邏輯類似,前面已經在預備知識中提及了,有需要的話可以自己調試一下
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章