def count_extensions(dir_name):
"""Print the count of different file suffixes in a folder."""
import os
from os.path import splitext
# suffix_count is our histogram (key=suffix, value=count).
suffix_count = dict()
# os.walk returns a "generator" which we can treat like a list.
# Elements of the list are 3-tuples of form (directory path,
# list of subdirectories, list of files).
# Note that we do not need to deal with subdirectories explicitly.
for root, dirs, files in os.walk(dir_name):
for name in files:
base, ext = splitext(name)
if ext == "":
continue
suffix_count[ext] = suffix_count.get(ext, 0) + 1
for suffix in sorted(suffix_count.keys()):
print("{suffix}\t{count}".format(suffix=suffix,
count=suffix_count[suffix]))
count_extensions(".")