automate-boring-stuff/exercises/ex09/ex09c.py

26 lines
559 B
Python

"""
Project: Regex Search
Page 230
"""
import re
import sys
from pathlib import Path
directory = Path(sys.argv[1])
keys = "|".join(sys.argv[2:])
regex = re.compile(f"({keys})")
result = []
for path in directory.glob("**/*.txt"):
text = open(path, "r").readlines()
show_header = True
for i, line in enumerate(text):
if re.match(regex, line):
if show_header:
result.append(f"\n{path}")
show_header = False
result.append(f"{i + 1}\t{line.strip()}")
print("\n".join(result).strip())