如何使用 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).
如果在相应行中找到给定单词,则打印行号。
将行号的值增加 1。
使用 **close()** 函数(用于关闭已打开的文件)关闭输入文件。
它也用于在 for 循环中迭代序列
示例
以下程序用于从文本文件中删除给定行,并在删除该行后打印结果文件内容:
# 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,即起始行号。我们逐行遍历文本文件,将每一行分解成一个单词列表,并检查给定单词是否在列表中。如果存在,则打印当前行号。对于每一行,行号的值都会增加一。
从本文中,我们学习了如何读取文件、逐行遍历文件以及获取该行中的所有单词。获取单词后,我们可以反转单词、更改大小写、检查元音、检索单词长度等等。我们还学习了如何计算行号以及如何在文件中搜索单词,这主要用于一些常见的日常应用程序,例如在结果中查找姓名、在某些代码中搜索关键字等等。
广告