Python 是一種強大的程式語言,廣泛應用於資料分析、Web開發等領域。在檔案操作中,經常需要根據特定的模式來匹配檔案名稱或檔案路徑。 Python 提供了 glob 模組來進行檔案模式匹配,本文將介紹如何在 Python 2.x 中使用 glob 模組進行檔案模式匹配。
glob 模組是 Python 標準函式庫的一部分,無需額外安裝即可使用。它提供了基於模式字串的檔案和資料夾搜尋方法,並傳回符合的檔案或資料夾清單。 glob 模組支援一些常見的檔案模式比對規則:
*
:符合任意字元。 ?
:符合單一字元。 [字元]
:符合字元集中的任一個字元。 [!字元]
:符合字元集中的任一個字元以外的字元。 以下是使用 glob 模組進行檔案模式匹配的範例程式碼:
import glob # 匹配当前目录下所有的.py文件 files = glob.glob('*.py') print(files) # 匹配当前目录下所有以test开头的文件夹 folders = glob.glob('test*') print(folders) # 匹配当前目录及其子目录下所有的.txt文件 files = glob.glob('**/*.txt', recursive=True) print(files)
在上述程式碼中,首先匯入了 glob 模組。然後透過 glob.glob()
方法傳入匹配模式字串,取得匹配的檔案或資料夾清單。使用 *.py
可以匹配當前目錄下所有的 .py 文件,其中 *
表示匹配任意字元。使用 test*
可以匹配目前目錄下所有以 test 開頭的資料夾,其中 *
表示匹配任意字元。使用 **/*.txt
可以匹配目前目錄及其子目錄下所有的 .txt 文件,其中 **
表示符合任意層級的子目錄。
執行上述程式碼可以得到匹配的檔案或資料夾列表,分別儲存在 files 和 folders 變數中。然後透過 print 函數將結果列印出來。在實際使用中,可以根據需要對匹配到的文件或資料夾進行進一步的操作。
除了基本的檔案模式匹配外,glob 模組還支援路徑擴充。例如,可以使用 ~
來表示使用者的主目錄,使用 ../
來表示上一層目錄。以下是使用路徑擴充功能的範例程式碼:
import glob # 匹配当前用户主目录下所有的.py文件 files = glob.glob('~/Desktop/*.py') print(files) # 匹配上一级目录下所有以test开头的文件夹 folders = glob.glob('../test*') print(folders)
在上述程式碼中,使用~/Desktop/*.py
可以符合目前使用者主目錄下的Desktop 目錄中所有的.py文件。使用 ../test*
可以符合上一層目錄下所有以 test 開頭的資料夾。
總結來說,glob 模組提供了一種方便的方式來進行檔案模式匹配。透過簡單的模式字串,可以匹配檔案名稱或檔案路徑,傳回符合的檔案或資料夾清單。在 Python 2.x 中使用 glob 模組可以輕鬆實現檔案模式匹配的功能,提高檔案操作的效率。
以上是Python 2.x 中如何使用glob模組進行檔案模式匹配的詳細內容。更多資訊請關注PHP中文網其他相關文章!