Merge 2 directories in python
Merge 2 folers/directories using python
import os
import shutil
def move_merge_dirs(source_root, dest_root):
for path, dirs, files in os.walk(source_root, topdown=False):
dest_dir = os.path.join(
dest_root,
os.path.relpath(path, source_root)
)
if not os.path.exists(dest_dir):
os.makedirs(dest_dir)
for filename in files:
destFile = os.path.join(dest_dir, filename)
if os.path.isfile(destFile):
continue
os.rename(os.path.join(path, filename), destFile)
for dirname in dirs:
# remove the source dir since all its contents were moved or are already existent
shutil.rmtree(os.path.join(path, dirname))
os.rmdir(source_root)
Sources:
https://stackoverflow.com/a/22588775/2287841
https://unix.stackexchange.com/questions/127712/merging-folders-with-mv/510724#510724