#!/usr/bin/env python2 """recursively move files from one dir to another""" import shutil from os.path import exists, join import os import sys def rmv(source, dest): for top, dirs, files in os.walk(source): relpath = top[len(source)+1:] for dir in dirs: d = join(relpath, dir) if not exists(join(dest, d)): print "moving dir %s to %s" % (d, dest) shutil.copytree(join(top, dir), join(dest, d)) shutil.rmtree(join(top, dir)) dirs.remove(dir) for f in files: print "moving file %s to %s" % (join(relpath, f), dest) shutil.move(join(top, f), join(dest, relpath)) for top, dirs, files in os.walk(source, topdown=False): for name in dirs: os.rmdir(join(top, name)) os.rmdir(source) rmv(sys.argv[1], sys.argv[2])