Python 2.x 中如何使用glob模組進行檔案模式匹配

PHPz
發布: 2023-07-30 15:24:42
原創
1127 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板