import os def print_tree(root_path, ignore_dirs=None, prefix=""): """ 打印目录树(美观版) :param root_path: 目录绝对路径 :param ignore_dirs: 要忽略的目录列表 :param prefix: 树状前缀(递归用) """ if ignore_dirs is None: ignore_dirs = [] try: entries = [e for e in os.listdir(root_path) if e not in ignore_dirs] except PermissionError: print(prefix + "└─ [Permission Denied]") return entries.sort() total = len(entries) for idx, entry in enumerate(entries): path = os.path.join(root_path, entry) is_last = (idx == total - 1) connector = "└─ " if is_last else "├─ " print(prefix + connector + entry) if os.path.isdir(path): extension = " " if is_last else "│ " print_tree(path, ignore_dirs, prefix + extension) if __name__ == "__main__": root_dir = input("请输入目录绝对路径: ").strip() ignore = input("请输入要忽略的目录,用逗号分隔(可留空): ").strip() ignore_list = [d.strip() for d in ignore.split(",") if d.strip()] # 打印根目录 print(os.path.basename(root_dir)) print_tree(root_dir, ignore_list)