Multi-threaded File Searcher is a Python application that allows users to search for a specific keyword across multiple files efficiently. By applying multi-threading, the application ensures faster performance while maintaining a responsive GUI using Tkinter that trackes the progress for each thread.
The usage of MultiThreading, unlike sequential Searching, can speed up the process up to n times in best-case senario, where n is the number of files being processed simultaneouslty.
- Multi-threaded Search: Files are processed concurrently, improving search speed.
- Responsive GUI: The graphical user interface (Tkinter) runs on a separate thread to avoid UI hanging.
- Real-time Progress Tracking: Updates on file progress and search status.
- Pause/Resume Search: Users can pause and resume the search operation.
- Keyword Highlighting: Generates an HTML file with the keyword highlighted (if found).
- File Access: Double-click any file in the results to open it directly.
- Select Files: Use the "Select Files" button to choose files for processing.
- Enter Keyword: Provide the keyword to be searched.
- Start Search: Click "Start Search" to initiate the search.
- Pause/Resume: Use the "Pause" button to toggle between paused and active states.
- View Results:
- Real-time progress is displayed in the GUI.
- Generated HTML files highlight the found keyword.
- Python Standard Libraries:
threadingfor multi-threaded processing.tkinterfor GUI development.osandtimefor file operations.
- No external dependencies are required.
-
Clone the repository:
git clone https://github.com/Ahmad3oda/MulltiThreaded-File-Searcher.git cd MulltiThreaded-File-Searcher -
Run the program:
python main.py
-
Follow the GUI steps:
- Select files.
- Enter a keyword.
- Start the search and monitor progress.


