Recursive Directory Contents
Mark Pilgrim
f8dy at yahoo.com
Mon Feb 26 11:24:48 EST 2001
The os.path module has a wonderful method called "walk", which takes a root
directory, a function, and an arbitrary argument. It recursively walks
through the root directory, calling the function with 3 parameters: <your
arbitrary argument>, <current directory>, <list of files in current
directory>. For example, this script will find all the files anywhere
within the "/music" directory that have been modified since Feb 15, 2001,
store them (with fully qualified paths) in modifiedFilesWithPaths, and then
print them.
-----
import os
import time
def mtimeChecker(arg, dirname, fileList):
(mtime, modifiedList) = arg
for f in [os.path.join(dirname, file) for file in fileList]:
if os.path.getmtime(f) > mtime:
modifiedList.append(f)
modifiedFilesWithPaths = []
os.path.walk('/music', mtimeChecker, \
(time.mktime((2001, 2, 15, 0, 0, 0, 0, 0, 0)), \
modifiedFilesWithPaths))
for f in modifiedFilesWithPaths:
print f
-----
-M
You're smart; why haven't you learned Python yet?
http://diveintopython.org/
"C. Porter Bassett" <porter at et.byu.edu> wrote in message
news:mailman.983161805.496.python-list at python.org...
> Is there a common module out there that will recursively record the
> contents of a directory? I want to use it to do tests to see what files
> have been modified since last check.
>
>
>
>
More information about the Python-list
mailing list