import string class FileCache: '''Caches the contents of a set of files. Avoids reading files repeatedly from disk by holding onto the contents of each file as a list of strings. ''' def __init__(self): self.filecache = {} def grabFile(self, filename): '''Return the contents of a file as a list of strings. New line characters are removed. ''' if not self.filecache.has_key(filename): f = open(filename, "r") self.filecache[filename] = string.split(f.read(), '\n') f.close() return self.filecache[filename]