| import os | |
| def print_directory_structure(startpath, exclude_dirs=None, indent=''): | |
| if exclude_dirs is None: | |
| exclude_dirs = ['myenv', '__pycache__'] | |
| # Get list of items in directory | |
| try: | |
| items = os.listdir(startpath) | |
| except PermissionError: | |
| return | |
| # Sort items to show directories first, then files | |
| items.sort(key=lambda x: (not os.path.isdir(os.path.join(startpath, x)), x)) | |
| for item in items: | |
| path = os.path.join(startpath, item) | |
| # Skip excluded directories | |
| if os.path.isdir(path) and item in exclude_dirs: | |
| continue | |
| if os.path.isdir(path): | |
| print(f'{indent}📁 {item}') | |
| print_directory_structure(path, exclude_dirs, indent + ' ') | |
| else: | |
| print(f'{indent}📄 {item}') | |
| if __name__ == '__main__': | |
| # You can modify the start path and excluded directories here | |
| start_path = '.' # Current directory | |
| excluded_directories = ['myenv', 'node_modules', '__pycache__', '.git'] # Added .git | |
| print('Directory Structure:') | |
| print_directory_structure(start_path, excluded_directories) | |