I created a function that takes a pattern and a base
path and then uses os.walk and glob to traverse
directories starting from the base path and place
files that match the glob pattern in a dictionary.
#!/usr/bin/python
import os, os.path, glob
def glob_files(pattern, base = '.'):
path_list = []
abs_base = os.path.abspath(base)
path_list.append(abs_base)
for root,dirs,files in os.walk(abs_base):
for name in dirs:
path = os.path.join(root, name)
#print path
path_list.append(path)
globbed = {}
cwd = os.getcwd()
for p in path_list:
os.chdir(p)
matched_files = glob.glob(pattern)
if matched_files != []:
globbed[p] = matched_files
os.chdir(abs_base)
os.chdir(cwd)
return globbed
Tell me what you think. This script would probably
have been easier to write with reqular expressions,
but I was determined to use glob.
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor