import os # This is a function object: 1st param is the data item, # 2nd argument is name of current directory, 3rd arg is a list # of file names in that directory (obtained using os.listdir): def lister(dummy, dirname, filesindir): print '[' + dirname + ']' for fname in filesindir: print os.path.join(dirname, fname) #handle one file if __name__ == "__main__": # 1st arg to walk is root directory from which ti # search, 2nd arg is function object, 3rd is opt data item # used as arg to function object: os.path.walk('.', lister, None)