Spaces:
Runtime error
Runtime error
| import os | |
| import re | |
| class TextFinder: | |
| def __init__(self, folder): | |
| self.folder = folder | |
| def find_matches(self, pattern): | |
| matches = [] | |
| pattern = pattern.lower() # Convert pattern to lowercase | |
| for root, _, files in os.walk(self.folder): | |
| for file in files: | |
| file_path = os.path.join(root, file) | |
| if os.path.isfile(file_path): | |
| with open(file_path, 'r', encoding='utf-8') as f: | |
| content = f.read() | |
| paragraphs = re.split(r'\n\s*\n', content) # Split text into paragraphs | |
| for paragraph in paragraphs: | |
| if pattern in paragraph.lower(): # Convert paragraph to lowercase for comparison | |
| matches.append({"Find_text":paragraph.strip(),"Book_source":file_path.split("/")[-1].split(".")[0]}) | |
| return matches | |
| # Example usage: | |
| if __name__ == "__main__": | |
| finder = TextFinder('example_folder') | |
| matches = finder.find_matches('text_to_find') | |
| print(matches) |