如何用python寫一個文件搜索器?

2 個回答
小小猿爱嘻嘻
2019-06-13

這裡以精確查找、模糊查找和特定查找3種查找為例,簡單介紹一下python是如何查找文件的,主要用到python自帶的模塊os(walk函數),感興趣的朋友可以自己嘗試一下,實驗環境win10+python3.6+pycharm2018,主要內容如下:

精確查找

這個是最簡單的,直接使用os.walk函數遍歷目標目錄,如果查找到的文件名與輸入的文件名相同,則返回文件完整路徑,測試代碼如下,os.walk函數會返回一個三元組,分別為查找的目標目錄、查找的目標目錄子目錄(list列表)和查找的目標目錄文件(list列表),這裡使用os.path.join函數拼接為文件完整路徑,輸入參數分別為查找的目標目錄和目標文件:

如何用python寫一個文件搜索器?

模糊查找

這裡只需要對上面的代碼稍微修改一下就行,如果在文件名中查找到輸入的子串(模糊匹配到文件名中存在這個字符串),則返回文件完整路徑,測試代碼如下,非常簡單:

如何用python寫一個文件搜索器?

特定查找

這裡主要是查找特定類型的文件,基本代碼和前面2個的查找是一樣的,只需要在文件名中匹配特定後綴就行,如果是,則返回文件完整路徑,測試代碼如下,主要用到string字符串自帶的endswith函數:

如何用python寫一個文件搜索器?

main函數調用

最後就是在main函數中調用上面的3個查找函數,測試代碼如下,一個while循環,1為精確查找,2為模糊查找,3為特定查找,最後將查找的結果以藍色打印出來,這裡的查找目錄可以人為指定,也可以設置為input輸入獲取:

如何用python寫一個文件搜索器?

程序運行截圖如下,已經成功查找到對應文件:

如何用python寫一個文件搜索器?

至此,我們就完成了利用python來搜索文件。總的來說,這3種方式都非常簡單,主要用到os.walk這個函數,其他的只需要稍微修改一下就行,只要你有一定的python基礎,熟悉一下上面的代碼和示例,多調試幾遍程序,很快就能掌握的,後期改進話,你也可以添加一個GUI界面(tkinter、pyqt等),使用起來能更方便,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

太科罗技
2019-05-18

python實現文件搜索應該是很簡單的,先用Python讀取指定文件夾,將所有文件名裝在一個list裡面,然後遍歷查找所需要的文件即可。

相關推薦

推薦中...