Limit MacroServer core dumps to 10 versions (iterator, stat, time)

#!/usr/bin/env python
”'
restricts the number of MacroServer core dumps to 10
”'

def restrictTo10Versions( fName): 
    from stat import S_ISREG, ST_CTIME, ST_MODE
    import os, sys, time

    dirpath = '/online_dir/Diag'
    #
    # get all files of a directory with stat
    #
    entries = (os.path.join(dirpath, fn) for fn in os.listdir(dirpath))
    entries = ((os.stat(path), path) for path in entries)
    #
    # keep regular files only
    #
    entries = ((stat[ST_CTIME], path) for stat, path in entries if S_ISREG(stat[ST_MODE]))
    #
    # keep those files only that match fName
    #
    entries = ((cdate, path) for cdate, path in entries if path.find( fName) > 0)

    lst = [ (cdate, path) for cdate, path in sorted( entries)] 

    nDel = len( lst) - 10

    for cdate, path in lst:
        if nDel > 0:
            # use os.remove( path) 
            print( "deleting ", time.ctime( cdate), path)
        else: 
            print( "keeping  ", time.ctime( cdate), path)
        nDel -= 1
    
if __name__ == "__main__":
    restrictTo10Versions( 'MacroServerCore')