使用Python如何打印文本文件中包含指定字符串的行?
本文将向您展示如何使用Python打印给定文本文件中包含特定字符串的所有行。
假设我们有一个名为 ExampleTextFile.txt 的文本文件,其中包含一些随机文本。我们将从文本文件返回包含给定特定字符串的文本文件中的行。
ExampleTextFile.txt
早上好,TutorialsPoint
这是TutorialsPoint的样本文件
包含Python、Seaborn、Scala等特定的源代码
摘要和解释
欢迎来到TutorialsPoint
快乐学习
早上好,TutorialsPoint
算法(步骤)
执行所需任务的算法/步骤如下所示:
-
创建一个变量以存储文本文件的路径。
-
输入字符串作为静态/动态输入,并将其存储在一个变量中。
-
使用 open() 函数(打开文件并返回文件对象作为结果)以只读模式打开文本文件,将文件名和模式作为参数传递给它(这里“ r ”表示只读模式)。
with open(inputFile, 'r') as filedata:
-
使用for循环遍历文本文件中的每一行。
-
使用if条件语句和“ in ”关键字,检查上述行数据中是否存在给定字符串。
in关键字用于确定序列(列表、range、字符串等)中的值是否存在。
它还用于在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文件
filedata.close()
输出
在执行上述程序时,将生成以下输出−
The following lines contain the string { to TutorialsPoint }:
Good morning to TutorialsPoint
Welcome to TutorialsPoint
Good morning to TutorialsPoint
在本程序中,我们读取了包含一些随机文本的文本文件。我们逐行读取文本文件,然后检查该行数据中是否出现了给定的字符串。如果存在,则打印该行的当前值(总行值)。
结论
我们在本文中学习了如何读取文件、逐行遍历文件以及获取所有行数据。一旦我们获取了它们,我们可以反转行、改变大小写、查找该行中的单词数、检查元音字母、检索行中的字符等等。我们还学习了如何在文件中搜索一个字符串并打印相关的行,这在典型的日常应用程序中经常用于查找id并打印所有人的信息。