Newbie Question: Getting a list of files

Ant antroy at gmail.com
Wed May 16 11:20:16 EDT 2007


On May 16, 3:07 pm, Gerard Flanagan <grflana... at yahoo.co.uk> wrote:
...
> import os
>
> def iter_dirs(root, dirs=False):
...

Rather than rolling your own directory walker:

The same iterator using os.walk:

def iter_dirs(root, dirs=False):
    for root, directories, files in os.walk(root):
        if dirs:
            for dir in directories:
                yield os.path.join(root, dir)
        for file in files:
            yield os.path.join(root, file)


os.path.walk requires a different mindset:

def visitor(yield_dirs, dirname, names):
    for name in names:
        pth = os.path.join(dirname, name)
        if os.path.isfile(pth) or yield_dirs:
            print pth

os.path.walk(root, visitor, False)





More information about the Python-list mailing list