grokking-algorithms/chapter7/bfs_dirtrav.py

28 lines
595 B
Python

import logging
from collections import deque
from pathlib import Path
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
scripts_path = Path.home() / "scripts"
def files_with_extension(ext):
queue = deque()
queue += scripts_path.glob("*")
while queue:
item = queue.popleft()
# if it is a file and has extension ext then print
if item.is_file() and item.suffix == ext:
print(item)
# otherwise add directory items to the queue
else:
queue += item.glob("*")
files_with_extension(".sh")