File size: 1,846 Bytes
512e2dc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | import os
def print_tree(directory, prefix=''):
"""
Fungsi rekursif untuk mencetak struktur folder dengan garis pohon.
"""
# Cek apakah folder bisa diakses
try:
items = os.listdir(directory)
except PermissionError:
print(f"{prefix}βββ π« [Akses Ditolak]")
return
except FileNotFoundError:
print(f"{prefix}βββ β [Folder Tidak Ditemukan]")
return
# Urutkan: Folder dulu, baru File (biar rapi seperti di Windows Explorer)
# logic sort: (apakah file?, nama file) -> False (folder) muncul sebelum True (file)
items.sort(key=lambda x: (not os.path.isdir(os.path.join(directory, x)), x.lower()))
total_items = len(items)
for i, item in enumerate(items):
path = os.path.join(directory, item)
is_last = (i == total_items - 1)
# Tentukan simbol percabangan
if is_last:
connector = "βββ "
new_prefix = prefix + " "
else:
connector = "βββ "
new_prefix = prefix + "β "
# Cek apakah item adalah Folder atau File
if os.path.isdir(path):
print(f"{prefix}{connector}π {item}")
# PANGGIL LAGI fungsi ini untuk masuk ke dalam folder (Rekursif)
print_tree(path, new_prefix)
else:
print(f"{prefix}{connector}π {item}")
# --- KONFIGURASI ---
# GANTI PATH DI BAWAH INI SESUAI FOLDER KAMU
folder_target = r"C:\Kuliah\Sains Data Sem 5\Data Science Capstone Project\MyCapstoneApp\SPOTIFY_ABSA_CAPSTONE_MODELS_FINAL_20251207_1600"
print("="*60)
print(f"π¦ ROOT: {os.path.basename(folder_target)}")
print("="*60)
if os.path.exists(folder_target):
print_tree(folder_target)
else:
print(f"Error: Path '{folder_target}' tidak ditemukan.")
print("="*60) |