Python程式:從檔案中列印所有匹配給定模式的圖案
查詢檔案中與特定模式匹配的行是一項常見的操作,具有許多應用,例如日誌分析、文字處理和資料過濾。在本文中,我們將討論Python程式:從檔案中列印所有匹配給定模式的圖案。為了解決這個問題,我們將首先在一個檔案中建立一個模式並儲存它。我們的任務是透過程式設計方式建立我們在檔案中看到的精確模式。透過應用一些條件,它將檢查給定檔案中模式是否匹配。
語法
with open("file_name.txt", "r") as file
open() 函式與 ‘with’ 語句一起使用以開啟檔案。open函式接受兩個引數——檔名 file_name.txt 用於指定檔名,以及表示模式 ‘r’ 用於以讀取模式開啟檔案。
檔案是物件型別。
演算法
步驟如下:
建立一個文字檔案,在檔案中建立模式並儲存。

我們將從給定檔案中建立上述模式開始程式。
然後使用 for 迴圈迭代範圍從 1 到 6,這將為圖案設計建立 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’ 的重要性,它提供新行以匹配圖案 (*) 的每一行。