Hello, You might try using os.path.walk, I think it ends up being much more flexible than glob for this.
#!/usr/bin/python2.4 import os def Finder(topdir, file_extension=None, levels=None): """Return all filenames in topdir. Args: topdir: Top level directory to search file_extension: file extension to match on levels: number of directory levels to search Returns: list of file names. """ def Levels(pathname): return pathname.count(os.path.sep) if levels is not None: pathlevels_allowed = Levels(topdir) + levels def WalkFunction(accumulator, dir, filenames): """Called from os.path.walk; accumulate matching filenames. Args: accumulator: list we are adding files to dir: directory being traversed filenames: list of files in dir Returns: None Modifies: filenames, if we want to stop descending. """ if levels is not None: if Levels(dir) > pathlevels_allowed: del filenames[:] return if file_extension is not None: accumulator.extend(os.path.join(dir, f) for f in filenames if os.path.splitext(f)[1] == file_extension) else: accumulator.extend(os.path.join(dir, f) for f in filenames) acc = [] os.path.walk(topdir, WalkFunction, acc) return acc if __name__ == '__main__': files = Finder("/your/starting/directory", file_extension=".mpg", levels=2) print files On Dec 13, 2007 11:13 PM, farsheed <[EMAIL PROTECTED]> wrote: > my code is here: > > _________________________________________________________________________ > > def Globing(self, dir, extension, nop, inputDepth): > 'It creates a basic glob function that needed in other > classes' > self.exop = '*.' > self.opr = '*/' > self.counter = '' > self.files = [] > self.path = '' > for i in range (inputDepth): > self.path = dir + self.opr * i + self.exop * nop + > extension > #like this: */*/*.*.mpg > self.counter = glob.glob(self.path) > self.files += self.counter > return self.files > ____________________________________________________________________________ > > Is there any better and faster way to do this? > -- > http://mail.python.org/mailman/listinfo/python-list > -- -David -- http://mail.python.org/mailman/listinfo/python-list