Isn't this something that os.walk would be good for?

import os
for t in os.walk(base_dir):
    for f in t[2]:
        print "/".join((t[0], f))

Jeff

On Feb 26, 2007, at 4:42 PM, Sick Monkey wrote:

I had a do something similar. I had to get a program to traverse through a directory and delete all files with a specific file extension. (The program below will delete files, so I do not recommend you running it without paying close attention to it.)

This program will start at a given directory and will traverse thru the subdirectories by using "listdir".
+++++++++++++++++++++++++++++++++++
#!/usr/bin/python -u

import sys, time
from os import listdir, unlink
from os.path import isdir, isfile, islink, join, getmtime
deldir = "C:\some\Dir"
delFileType = ".txt"
# -------------------------------------
def del_entry(_name):
        try:
                if isdir(_name):
                        print "This is a directory, do nothing."
                else:
                        #print "now"
                        unlink(_name) # or remove(_name)
                        sys.stdout.write("Delete FILE %s\n" % (_name))
        except IOError:
                sys.stderr.write("Cannot delete %s\n" % (_name))
# -------------------------------------
def list_dir(_dir,_action):
        if not isdir(_dir):
                print "%s is not a directory" % (_dir)
                return

        for file in listdir(_dir):
                path = join(_dir, file)
                if isdir(path):
                        list_dir(path, _action)
                else:
                        if path.rfind(delFileType) != -1:
                                #print path
                                _action(path)
# -------------------------------------
# Run it
list_dir(deldir, del_entry)

On 26 Feb 2007 13:28:20 -0800, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

i am trying to use python to walk thru each subdirectory from a top
directory.  Here is my script:

savedPagesDirectory = "/home/meryl/saved_pages/data"

dir=open(savedPagesDirectory, 'r')

for file in dir:
    if (isdir(file)):
        # get the full path of the file
        fileName = savedPagesDirectory + file + 'index.html'
        print fileName

$ ./scripts/regressionTest.py
Traceback (most recent call last):
  File "./scripts/regressionTest.py", line 12, in ?
    dir=open(savedPagesDirectory, 'r')
IOError: [Errno 21] Is a directory

But I get the above error:

Can you please tell me what did I do wrong?

Thank you.

--
http://mail.python.org/mailman/listinfo/python-list

--
http://mail.python.org/mailman/listinfo/python-list

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to