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


在本文中,我们将向您展示如何使用 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** 关键字有两种使用方法:

The in keyword is used to determine whether a value exists in a sequence (list, range, string etc).

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

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

  • 将行号的值增加 1。

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

示例

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

# input text file inputFile = "ExampleTextFile.txt" # storing the current line number lineNumber = 1 # Enter the word givenWord = "TutorialsPoint" print('The word {', givenWord, '} is present in the following lines:') # Opening the given file in read-only mode. with open(inputFile, 'r') as fileData: # Traverse in each line of the file for textline in fileData: # Splitting the line into list of words wordsList = textline.split() # Checking if the given word is present in the above words list if givenWord in wordsList: # Print the line number, if the given word is found print(lineNumber) # Increase the value of linenumber by 1 lineNumber += 1 # Closing the input file fileData.close()

输出

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

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

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

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

更新于:2022年8月17日

4K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告