如何使用 Python 在文本文件中查找给定单词的行号?

programmingpythonserver side programming更新于 2023/12/11 11:42:00

在本文中,我们将向您展示如何使用 Python 从文本文件中获取给定单词所在的行号。

假设我们获取了一个名为 TextFile.txt 的文本文件,其中包含一些随机文本。我们将从文本文件中返回给定单词所在的行号

TextFile.txt

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

算法(步骤)

以下是执行所需任务要遵循的算法/步骤 −

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

  • 创建一个变量(保存行号)并将其值初始化为 1。

  • 输入单词作为静态/动态输入并将其存储在变量中。

  • 使用open() 函数(打开文件并返回文件对象作为结果)通过传递文件名和模式作为参数以只读模式打开文本文件(此处"r"代表只读模式)。

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

  • 使用 split() 函数(将字符串拆分为列表。我们可以定义分隔符;默认分隔符是任何空格)将文本文件的每一行拆分为一个单词列表并将其存储在变量中。

  • 使用 if 条件语句和 "in" 关键字,检查给定的单词是否存在于上述单词列表中。

    in 关键字有两种工作方式 -

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

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

  • 如果在相应行中找到给定的单词,则打印行号。

  • 将行号的值增加 1。

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

示例

以下程序从文本文件中删除给定行,并在删除该行后打印结果文件内容 −

# input text file inputFile = "ExampleTextFile.txt" # 存储当前行号 lineNumber = 1 # 输入单词 givenWord = "TutorialsPoint" print('The word {', givenWord, '} is present in the following lines:') # 以只读模式打开给定文件。 with open(inputFile, 'r') as fileData: # 遍历文件的每一行 for textline in fileData: # 将行拆分为单词列表 wordsList = textline.split() # 检查给定单词是否存在于上述单词列表中 if givenWord in wordsList: # 如果找到给定单词,则打印行号 print(lineNumber) # 将 linenumber 的值增加 1 lineNumber += 1 # 关闭输入文件 fileData.close()

输出

执行时,上述程序将生成以下输出 -

The word { TutorialsPoint } is present in the following lines:
1
2
6

我们在本程序中读取了一个包含一些随机文本的文本文件。我们创建了一个变量来存储当前行号,并将其初始化为起始行号 1。我们逐行浏览文本文件,将每行分解为一个单词列表,并检查给定的单词是否在列表中。如果存在,它会打印当前行号。对于每一行,行号的值都会增加一。

我们从这篇文章中学习了如何读取文件、逐行遍历文件以及获取该行中的所有单词。一旦我们得到它们,我们就可以反转单词、更改大小写、检查元音、检索单词长度等等。我们还学习了如何计算行号以及如何在文件中搜索单词,这主要用于一些常见的日常应用中,例如在结果中查找名称、在某些代码中搜索关键字等。


相关文章