Find a Word in a Text file using Python ready-to-use function
- tinyytopic.com
- 0
- on Feb 13, 2023
How to find a Word in a Text file using Python ready-to-use function?
Ready to use Python function to find a word in a text file:
def find_string_in_text_file(txtFile, findWord, case_sensitive=False): # Check if 'findWord' string exists in text file with open(txtFile, 'r') as file: lines = file.readlines() for row in lines: # remove new line character if exists row = row.replace("\n", "") # change to loawer case if case senstive is false if case_sensitive == False: row = row.lower() findWord = findWord.lower() # Check string is matching and length of the strings are matching if row.find(findWord) >= 0: return True return False # if no match, return False
Write your main code as a sample below, and save a text file named ‘test python.txt’ in the same directory by the inclusion of the word ‘request’ in the text file.
print(find_word_in_text_file("test python.txt", "request"))
The output of the code is,
True
How does the function work?
This code defines a function named “find_string_in_text_file”. The function takes three arguments:
- The
txtFile
: The name of the text file that needs to be searched. - The
findWord
: The string that needs to be searched in the text file. - The
case_sensitive
: A boolean value that determines if the search should be case-sensitive or not. If it’s set to False, the code will search for the string in a case-insensitive manner.
The function uses the with open
statement to open the text file specified in the txtFile
argument. It then reads all the lines of the file using the readlines
method and stores the lines in a list called lines
.
Next, the code uses a for loop to iterate through each line in the lines
list. For each line, it removes the newline character (if it exists) using the replace
method and converts the line to lowercase if the case_sensitive
argument is set to False. This ensures that the search for the string is case-insensitive.
The find
method is then used to check if the findWord
string is present in the current line. If the find
method returns a value greater than or equal to 0, it means that the string was found, and the function returns True
.
If the loop completes without finding a match, the function returns False
, indicating that the string was not found in the text file.