Files
Portfolio/list_directory.py
T

54 lines
1.6 KiB
Python

import os
def should_ignore(path):
ignore_paths = [
'dist',
'git',
'.idea',
'dev-dist',
'node_modules',
'package-lock.json',
'External Libraries',
'Scratches and Consoles'
]
for ignore in ignore_paths:
if ignore in str(path):
return True
return False
def print_directory_tree(path, prefix=""):
try:
# Verzeichnisname ausgeben
print(f"{prefix}📁 {os.path.basename(path)}")
# Präfix für Unterelemente
prefix_files = prefix + "├── "
prefix_last = prefix + "└── "
prefix_deeper = prefix + "│ "
# Alle Einträge sammeln und filtern
entries = [entry for entry in os.scandir(path) if not should_ignore(entry.path)]
# Sortieren: Ordner zuerst, dann Dateien
entries.sort(key=lambda e: (not e.is_dir(), e.name.lower()))
# Durch alle Einträge iterieren
for i, entry in enumerate(entries):
is_last = (i == len(entries) - 1)
current_prefix = prefix_last if is_last else prefix_files
if entry.is_file():
print(f"{current_prefix}📄 {entry.name}")
elif entry.is_dir():
print_directory_tree(entry.path, prefix_deeper if not is_last else prefix + " ")
except Exception as e:
print(f"Fehler beim Lesen des Verzeichnisses {path}: {str(e)}")
if __name__ == "__main__":
portfolio_path = r"C:\Development\Damjan Savic\Portfolio"
print("\nVerzeichnisstruktur:")
print("="*50)
print_directory_tree(portfolio_path)
print("="*50)