On Wed, Sep 13, 2006 at 11:15:44AM -0400, William O'Higgins Witteman wrote: > Hello all, > > I am looking for an approach for the following problem: > > I have to walk a directory tree and examine files within it. I have a > set of directory names and filename patterns that I must skip while > doing this walk. How do I create a set of rules to skip files or > directory branches? I'm looking for something reasonably scalable, > 'cause I'm sure to need to update these rules in the future. >
For the first part of your problem, take a look at os.walk(): http://docs.python.org/lib/os-file-dir.html And also glob.glob(): http://docs.python.org/lib/module-glob.html The "in" operator is likely to be helpful in determining which files to skip. Suppose that you have a list of file names to be ignored: skips = ['ignore1.txt', 'ignore2.txt'] then check a filename against the names to be skipped: if filename not in skips: # process the files not to be ignored here. And, for more complex cases, you may want to write a test function that returns True or False depending on whether the file is to be ignored. A trivial example: def good_file(filename, skips): if filename in skips: return False else: return True skips = ['ignore1.txt', 'ignore2.txt'] if good_file(filename, skips): # process good files here o o o Dave -- Dave Kuhlman http://www.rexx.com/~dkuhlman _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor