PracticeLevel 6: ProfessionalEx 148. Build mini grep
0/150 Solved(0%)
Level 6Exercise #148

Build mini grep

Recursively search text files and return (path, line_number, line) for regex matches.

What you’ll practice

This Level 6 exercise focuses on pathlib + re in the Professional curriculum. Solve the challenge prompt above using clear, idiomatic Python and the relevant language or standard-library tools.

Relevant Python reference: re — Regular expression operations, pathlib — Object-oriented filesystem paths.

Sample Test Cases

Example #1
Input:mini_grep(root='logs', pattern='ERROR')
Output:matching file/line triples

Further Reading

Reference Solution

Reveal Reference Solution
def mini_grep(root: str, pattern: str):
import re
from pathlib import Path
regex = re.compile(pattern)
matches = []
for path in Path(root).rglob('*.txt'):
for number, line in enumerate(path.read_text().splitlines(), 1):
if regex.search(line): matches.append((str(path), number, line))
return matches
Pro Tips & Keyboard Shortcuts
Color Theme
Ctrl + K then T

Open VS Code Color Theme Quick Pick to select from 20 dark and light themes.

Editor SettingsCtrl + K

Open practice settings drawer to toggle line numbers, indenting, font size & hints.

Search MenuCtrl + /

Expand sidebar menu, focus search bar, and highlight search text instantly.

Focus Code Editor
Esc or Ctrl + `

Instantly highlight and focus code editor from anywhere, restoring cursor right where you left off.

Normal ViewEsc

Collapse sidebar and close all popups or settings drawers for clean focus view.

solution.py· Python 3.11 WASM