如何使用Python查找文本文件中给定单词的行号?
在本文中,我们将展示如何使用Python从文本文件中获取给定单词所在的行号。
假设我们有一个名为 TextFile.txt 的文本文件,其中包含一些随机文本。我们将返回给定单词所在的行号。
TextFile.txt
早上好,教程点
这是教程点的示例文件
包含Python、Seaborn、Scala中的特定源代码
摘要和说明
欢迎来到教程点
快乐地学习
算法(步骤)
执行所需任务的算法/步骤如下所示:
-
创建一个变量来存储文本文件的路径。
-
创建一个变量(它包含行号),并将其值初始化为1。
-
将单词作为静态/动态输入以变量的形式存储起来。
-
使用 open() 函数(打开并返回文件对象)打开只读模式的文本文件,将文件名和模式作为参数传递给它(这里“r”表示只读模式)。
with open(inputFile, 'r') as fileData:
-
使用for循环遍历文本文件中的每一行。
-
使用 split() 函数(将字符串拆分为列表。可以定义分隔符;默认分隔符为任何空白字符)将文本文件的每一行拆分为单词列表并将它存储在变量中。
-
使用if条件语句和 "in" 关键字,检查上述单词列表中是否存在给定单词。
"in" 关键字有两种用法:
"in"关键字用于确定序列(列表、范围、字符串等)中是否存在值。
它也用于在for循环中迭代序列
-
如果在上述行中找到给定单词,则打印行号。
-
将行号的值增加1。
-
使用 close() 函数关闭输入文件(用于关闭已打开的文件)。
示例
下面的程序用于从文本文件中删除给定行并打印删除该行后的结果文件内容:
# 输入文件文本
inputFile = "ExampleTextFile.txt"
# 存储当前行号
lineNumber = 1
# 输入单词
givenWord = "TutorialsPoint"
print('单词 {', givenWord, '} 出现在以下行中:')
# 以只读模式打开给定文件
with open(inputFile, 'r') as fileData:
# 遍历文件中的每一行
for textline in fileData:
# 将行分割为单词列表
wordsList = textline.split()
# 检查给定单词是否存在于单词列表中
if givenWord in wordsList:
# 如果找到给定单词,则打印行号
print(lineNumber)
# 将行号的值增加1
lineNumber += 1
# 关闭输入文件
fileData.close()
输出
执行上面的程序后,将生成以下输出:
单词 { TutorialsPoint } 出现在以下行中:
1
2
6
在这个程序中,我们读取一个包含一些随机文本的文本文件。我们创建了一个变量来存储当前行号,并将其初始化为1,即起始行号。我们通过逐行处理文本文件,将每一行分解成一个单词列表,并检查给定单词是否在列表中。如果存在,则打印当前行号。对于每一行,行号的值都会增加1。
从这篇文章中,我们学会了如何读取文件,逐行遍历文件,并获取该行中的所有单词。一旦我们获得了它们,就可以将单词反转,改变大小写,检查元音字母,检索单词长度等等。我们还学会了如何计算行号以及在文件中查找单词,在某些常见的日常应用程序中,例如在结果中查找姓名,在某些代码中搜索关键字等方面,这是主要用途。