synching with os.walk()
Thomas Ploch
Thomas.Ploch at gmx.net
Fri Nov 24 11:48:05 EST 2006
>> os.walk() is a nice generator for performing actions on all files in a
>> directory and subdirectories. However, how can one use os.walk() for walking
>> through two hierarchies at once? I want to synchronise two directories (just
>> backup for now), but cannot see how I can traverse a second one. I do this
>> now with os.listdir() recursively, which works fine, but I am afraid that
>> recursion can become inefficient for large hierarchies.
>
> I've run into wanting to work with parallel directory structures
> before, and what I generally do is something like:
>
> for root, dirs, files in os.walk( dir1 ):
> dir2_root = dir2 + root[len(dir1):]
> for f in files:
> dir1_path = os.path.join( root, f )
> dir2_path = os.path.join( dir2_root, f )
>
Wouldn't it be better to implement tree traversing into a class, then
you can traverse two directory trees at once and can do funny things
with it?
Thomas
More information about the Python-list
mailing list