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

启动您的职业生涯

完成课程获得认证

开始
广告