John Fouhy wrote: > On 11/07/06, Richard Querin <[EMAIL PROTECTED]> wrote: > >> I know this is probably a dumb question: >> >> I've got mp3 files that are downloaded (by ipodder) into individual >> subfolders. I'd like to write a quick script to move (not copy) all the mp3 >> files in those folders into a single destination folder. I was thinking I >> could do it easily from the linux command line (cp -r copies the subfolders >> out as well) but I can't figure out how to do it. Is there an easy way to >> achieve this using Python? I am assuming this would be something Python was >> designed to make easy.. >> > > In python, you can use os.rename to move and os.walk to walk your > directory structure. Something like: > > source = '/ipodder' > dest = '/foo/bar' > for root, dirs, files in os.walk(source): > for f in files: > os.rename(os.path.join(root, f), os.path.join(dest, f)) This will copy all the files into the dest directory - it doesn't copy the folder structure.
I highly recommend Jason Orendorff's path module for any code involving walking directories. Something like this: from path import path source = path('/ipodder') dest = '/foo/bar' for mp3 in source.walkfiles('*.mp3'): relpath = source.relpathto(mp3) destmp3 = dest / relpath os.rename(mp3, destmp3) http://www.jorendorff.com/articles/python/path/index.html Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor