天天看點

python檔案查找

作者:靜遠慧

Python的glob子產品提供了一個類似于shell中通配符的功能,允許使用者使用通配符來比對檔案路徑。

glob.glob() 函數用于查找與指定模式比對的檔案路徑名。傳回所有比對的檔案路徑清單。

例如:

python檔案查找

glob.glob() 函數可以使用以下通配符:

  • *:比對任何字元
  • ?:比對任何單個字元
  • [seq]:比對seq中的任何字元
  • [!seq]:比對除seq中的任何字元

glob.glob() 函數在找到比對的檔案時是不區分大小寫的,如果需要區分大小寫,可以使用glob.escape()函數.

除了glob.glob()函數,還有glob.escape()函數,glob.escape() 用于将字元串中的特殊字元轉義。

另外,還有一個fnmatch子產品可以用來比對檔案名,它提供了fnmatch.fnmatch()和fnmatch.fnmatchcase()函數。

執行個體1: 比對某個檔案夾下所有以.jpg和.jpeg為字尾的圖檔

python檔案查找

執行個體2: 比對某個檔案夾下所有以1~9開頭的檔案

python檔案查找

注意:

  • 上述執行個體中,glob.glob()函數傳回的都是檔案的絕對路徑,如果需要傳回相對路徑,需要在檔案路徑前加上'.'
  • glob.glob()函數可以用來比對檔案和檔案夾,如果要針對檔案夾進行查詢,可以在檔案路徑後加上'/*'