Here is the complete script with documentation: #!/usr/bin/python
#This script prompts the user for a path and a glob pattern. #The script firsts looks in the directory denoted by the path #for a matching file. If a match is found, the path and file are added #to a dictionary as a key and value. This process is repeated for all #directories underneath the base directory. Finally, the directories and #their corresponding files are formatted and printed to the screen. #Next step: rework script as GUI using PyGTK. #Created by Chris Spears 7/3/06. #Thanks to [EMAIL PROTECTED] import os, os.path, glob def create_dict(path, globbed_dict): os.chdir(path) matched_files = glob.glob(pattern) if matched_files != []: globbed_dict[path] = matched_files return globbed_dict def glob_files(pattern, base_path = '.'): abs_base = os.path.abspath(base_path) globbed_dict = {} cwd = os.getcwd() #Check the root directory first globbed_dict = create_dict(abs_base, globbed_dict) #Check other directories for root,dirs,files in os.walk(abs_base): for name in dirs: path = os.path.join(root, name) globbed_dict = create_dict(path, globbed_dict) os.chdir(abs_base) #Make sure the script returns to the user's original directory. os.chdir(cwd) return globbed_dict def print_dict(globbed_dict): paths = globbed_dict.keys() paths.sort() for p in paths: print p,": " file_list = globbed_dict[p] for f in file_list: print "\t",f if __name__ == "__main__": base_path = raw_input("Enter a base path: ") pattern = raw_input("Enter a glob pattern: ") str(base_path) str(pattern) globbed_dict = glob_files(pattern, base_path) print_dict(globbed_dict) _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor