#! /usr/bin/env python3 ''' Counts the subfolders and file extensions in a folder. Micskei Zoltan, 2013.03.13. ''' import argparse import os import sys # set up parameters parser = argparse.ArgumentParser() parser.add_argument("-f", "--folder", help="Path to the folder to count", type=str, required = True) args = parser.parse_args() # check whether folder exists if not os.path.exists(args.folder): print("Input folder does not exists :", args.folder) sys.exit(2) subFolderCount = 0 extensions = {} # walk through the folder to collect info for root, dirs, files in os.walk(args.folder): for file in files: fileExtension = os.path.splitext(file)[1] if fileExtension in extensions: extensions[fileExtension] = extensions[fileExtension] + 1 else: extensions[fileExtension] = 1 for dir in dirs: subFolderCount = subFolderCount + 1 print("Number of subfolders: ", subFolderCount) # get all the extensions with maximal count maxCount = max(extensions.values()) print("The following extensions have maximal count of ", maxCount) for item in extensions: if extensions[item] == maxCount: print(" ", item)