view python/lsexts.py @ 751:753b1c2bd64c

match is NOT POSIX
author Jeff Hammel <k0scist@gmail.com>
date Tue, 30 Jun 2015 15:35:34 -0700
parents 5f186e65da09
children
line wrap: on
line source

#!/usr/bin/env python

import os

def extensions(*filenames):
    return set([os.path.splitext(f)[-1] for f in filenames
                if '.' in f])

def find_extensions(*directories):
    _extensions = set()
    for directory in directories:
        for _, _, fnames in os.walk(directory):
            _extensions.update(extensions(*fnames))
    return _extensions

if __name__ == '__main__':
    import sys
    for ext in sorted(find_extensions(*(sys.argv[1:] or [os.getcwd()]))):
        print ext