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’ 的重要性,它提供新行以匹配图案 (*) 的每一行。