How to search for a string in text files?
Here's a Python code snippet that demonstrates how to search for a string in all text files in a directory:
import os
def search_string(directory, search_string):
for root, dirs, files in os.walk(directory):
for file in files:
file_path = os.path.join(root, file)
with open(file_path, "r") as f:
content = f.read()
if search_string in content:
print(f"Found '{search_string}' in {file_path}")
search_string("/path/to/directory", "search string")
Watch a video course
Python - The Practical Guide
This code recursively walks through all subdirectories in the specified directory, opens each file, reads its contents, and checks if the search string is present in the file's contents. If the search string is found, it prints the file's path. You can also use the 'glob' library to search specific file extension
import glob
def search_string(directory, search_string,extension):
for file in glob.glob(f'{directory}/*.{extension}'):
with open(file, "r") as f:
content = f.read()
if search_string in content:
print(f"Found '{search_string}' in {file}")
search_string("/path/to/directory", "search string",'txt')
Note that this code snippet assumes that the text files are encoded in UTF-8 or a similar encoding that supports the characters in the search string. If the text files use a different encoding, you may need to specify the encoding when opening the files (e.g., open(file_path, "r", encoding="iso-8859-1")
).