from PIL import Image import os def getFolders(dir): return [name for name in os.listdir(dir) if os.path.isdir(os.path.join(dir, name))] def getFiles(dir): files = [] for c in os.listdir(dir): _, ext = os.path.splitext(c) if ext == '.png': files.append(c) return files def merge_images(dir, file): image = Image.open(os.path.join(dir, file)) base = Image.open(out_file) (width1, height1) = image.size (width2, height2) = base.size result_width = max(width1, width2) result_height = height1 + height2 out = Image.new('RGB', (result_width, result_height)) out.paste(im=base, box=(0, 0)) out.paste(im=image, box=(0, height2)) out.save(out_file,"PNG") return out def createTarget(): result = Image.new('RGB', (1, 1)) result.save(out_file,"PNG") dir = '/Users/user/Documents/C5' dir1 = dir folder = getFolders(dir) for i in range(len(folder)): dir = dir1 + folder[i] ff = getFiles(dir) out_file = folder[i] + '.png' createTarget() for f in ff: merge_images(dir, f) print(folder[i] + ': Done.') print('All done!')