#!/usr/bin/env python import os def rename_folders_and_files(directory): # First, rename files and directories in subdirectories for root, dirs, files in os.walk(directory): for d in dirs: rename_folders_and_files(os.path.join(root, d)) # Then, rename files in the current directory for root, dirs, files in os.walk(directory): for f in files: old_path = os.path.join(root, f) new_path = os.path.join(root, f.lower().replace(" ", "_")) os.rename(old_path, new_path) # Finally, rename directories in the current directory for root, dirs, _ in os.walk(directory): for d in dirs: old_path = os.path.join(root, d) new_path = os.path.join(root, d.lower().replace(" ", "_")) os.rename(old_path, new_path) if __name__ == "__main__": root_directory = input("Enter the root directory path: ") rename_folders_and_files(root_directory)