如何使用 Python 打印文件中包含给定字符串的行?


在本文中,我们将向您展示如何使用 Python 打印给定文本文件中包含特定给定字符串的所有行。

假设我们有一个名为ExampleTextFile.txt的文本文件,其中包含一些随机文本。我们将从文本文件中返回包含给定特定字符串的行。

ExampleTextFile.txt

Good morning to TutorialsPoint
This is TutorialsPoint sample File
Consisting of Specific
source codes in Python,Seaborn,Scala
Summary and Explanation
Welcome to TutorialsPoint
Learn with a joy
Good morning to TutorialsPoint

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 创建一个变量来存储文本文件的路径。

  • 输入字符串作为静态/动态输入并将其存储在变量中。

  • 使用open()函数(打开文件并返回文件对象作为结果)以只读模式打开文本文件,将文件名和模式作为参数传递给它(此处“r”表示只读模式)。

with open(inputFile, 'r') as filedata:
  • 使用for循环遍历文本文件中的每一行

  • 使用if条件语句和“in”关键字检查给定字符串是否出现在上述行数据中。

in关键字用于确定某个值是否存在于序列(列表、范围、字符串等)中。

它也用于在for循环中迭代序列

  • 如果在对应行中找到给定字符串,则打印该行。

  • 使用close()函数关闭输入文件(用于关闭已打开的文件)。

示例

以下程序逐行检查给定字符串是否在文本文件的一行中找到,如果找到则打印该行:

# input text file inputFile = "ExampleTextFile.txt" # Enter the string givenString = "to TutorialsPoint" print('The following lines contain the string {', givenString, '}:') # Opening the given file in read-only mode with open(inputFile, 'r') as filedata: # Traverse in each line of the file for line in filedata: # Checking whether the given string is found in the line data if givenString in line: # Print the line, if the given string is found in the current line print(line) # Closing the input file filedata.close()

输出

执行上述程序将生成以下输出:

The following lines contain the string { to TutorialsPoint }:
Good morning to TutorialsPoint
Welcome to TutorialsPoint
Good morning to TutorialsPoint

在这个程序中,我们读取了一个包含一些随机文本的文本文件。我们逐行读取文本文件,然后检查给定字符串是否出现在该行数据中。如果存在,则打印该行的当前值(总行值)。

结论

我们学习了如何读取文件、逐行遍历文件以及获取本文中的所有行数据。一旦我们获得它们,我们就可以反转该行、更改大小写、查找该行中的单词数、检查元音、检索行字符等等。我们还学习了如何在文件中搜索字符串并打印相关行,这在典型的日常应用程序中(例如查找 ID 并打印所有人员信息)中经常使用。

更新于: 2022年8月18日

7K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告