Python程式:從檔案中列印所有匹配給定模式的圖案


查詢檔案中與特定模式匹配的行是一項常見的操作,具有許多應用,例如日誌分析、文字處理和資料過濾。在本文中,我們將討論Python程式:從檔案中列印所有匹配給定模式的圖案。為了解決這個問題,我們將首先在一個檔案中建立一個模式並儲存它。我們的任務是透過程式設計方式建立我們在檔案中看到的精確模式。透過應用一些條件,它將檢查給定檔案中模式是否匹配。

語法

with open("file_name.txt", "r") as file

open() 函式與 ‘with’ 語句一起使用以開啟檔案。open函式接受兩個引數——檔名 file_name.txt 用於指定檔名,以及表示模式 ‘r’ 用於以讀取模式開啟檔案。

檔案是物件型別。

演算法

步驟如下:

  • 建立一個文字檔案,在檔案中建立模式並儲存。

  • 我們將從給定檔案中建立上述模式開始程式。

  • 然後使用 for 迴圈迭代範圍從 16,這將為圖案設計建立 5 行。

  • 接下來,透過將 ‘i’ 乘以 ‘*’ 來列印圖案,這將建立精確的圖案並將其與文字檔案匹配。

  • 我們將檢查程式是否與給定檔案進行模式匹配:

  • 然後初始化變數 ‘contents’ 以使用預定義函式 read() 讀取檔案。

  • 接下來開始 if-else 語句,它在變數 ‘content’ 中應用條件——關鍵字星號(*) 與特殊字元 ‘\n’ 一起,以檢查是否從檔案中找到了模式的精確匹配。

  • 如果找到了精確匹配,則它將列印 ‘從檔案中找到精確匹配’,否則找不到匹配。

示例

在這個程式中,我們將建立一個與給定檔案相似的模式,並檢查該模式是否與檔案匹配。

for i in range(1, 5):
   print("*"*i)
# Check the pattern for the exact matching
with open("pattern.txt", "r") as file:
   contents = file.read()
# special character of new line represented by \n.
   if "*\n**\n***\n****" in contents:
      print("Exact match found from file")
   else:
      print("Exact match not found.")

輸出

*
**
***
****
*****
Exact match found!

優勢

從檔案中匹配給定模式的圖案的優勢如下:

  • 高效的資料提取——程式可以快速輕鬆地從大量資料(如日誌檔案或文字檔案)中提取特定資訊。

  • 資料分析——提取的資訊可用於資料分析、文字挖掘以及其他必須在大量資料中查詢特定資訊的應用。

  • 內建函式和庫——Python 提供 re 模組,可以幫助從檔案中構建模式匹配。

  • 強大且靈活——Python 是一種高階且靈活的程式語言,使您可以輕鬆地以多種方式處理和分析資料。

結論

我們瞭解了從給定檔案中匹配模式的示例。我們看到了模式 ‘r’ 如何幫助讀取開啟的檔案並使用 read() 方法讀取檔案。然後看到了特殊字元 ‘\n’ 的重要性,它提供新行以匹配圖案 (*) 的每一行。

更新於:2023年6月1日

瀏覽量:197

啟動您的職業生涯

完成課程獲得認證

開始
廣告