Adafruit_CircuitPython_Pathlib/examples/pathlib_simpletest.py
2025-04-22 17:07:48 -05:00

24 lines
858 B
Python

# SPDX-FileCopyrightText: Copyright (c) 2025 Tim Cocks for Adafruit Industries
#
# SPDX-License-Identifier: MIT
import adafruit_pathlib
def print_directory_tree(path: adafruit_pathlib.Path, prefix: str = ""):
"""Recursively prints an ASCII tree of the given directory."""
if not path.is_dir():
print(f"{path} is not a directory.")
return
entries = sorted(path.iterdir(), key=lambda x: (not x.is_dir(), x.name.lower()))
for index, entry in enumerate(entries):
connector = "├── " if index < len(entries) - 1 else "└── "
print(f"{prefix}{connector}{entry.name}")
if entry.is_dir():
extension = "" if index < len(entries) - 1 else " "
print_directory_tree(entry, prefix + extension)
dir_path = adafruit_pathlib.Path("/lib")
print_directory_tree(dir_path)