使用Python實現文件的精確查找、模糊查找、範圍查找

2019-09-06     軟體測試開發技術棧

使用Python進行文件查找的應用場景還是比較多的,比如

  • 獲取指定目錄下某個具體的文件
  • 獲取指定目錄下具備指定前綴或者後綴的文件
  • 獲取指定目錄下指定格式的文件

這裡涉及到文件的精確查詢、模糊查詢、範圍查詢。


設計一個簡單的函數實現上述三種查詢場景

我們主要使用了以下兩個Python模塊。

os 模塊

Python 的 os 模塊封裝了常見的文件和目錄操作。其中使用了以下方法:

  • os.walk:遍歷目錄。
  • os.path.join:連接目錄與文件名。
  • os.path.splitext:分離文件名與擴展名。
  • os.path.isdir:判斷給出的路徑是否是一個目錄。

glob 模塊

Python 的 glob 模塊封裝了文件查找匹配操作。其中使用了以下方法:

  • glob.glob:返回所有匹配的文件路徑列表。它只有一個參數pathname,定義了文件路徑匹配規則,這裡可以是絕對路徑,也可以是相對路徑。

需要注意的是,glob 模塊pathname參數在Windows下是不區分大小寫的,而在Linux下是區分大小寫的。


代碼設計如下



接下來,我們試一下 該函數是否滿足上述三個文件查找場景

精確查詢

查找D:\\learn\\config.yml文件:



模糊查詢

查找D:\\learn目錄下文件名以c開頭的yml文件,支持前模糊、後模糊、全模糊。

查詢結果如下:



範圍查詢

查找D:\\learn目錄下文件格式為.jpg的文件。

查詢結果如下:




文章來源: https://twgreatdaily.com/nIi5C20BJleJMoPMW_3S.html