如何使用 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() 函数(打开文件并返回文件对象作为result) 通过将文件名和模式作为参数传递给它来以只读模式打开文本文件(此处"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 并打印所有人员的信息。