#!/usr/bin/env python3 #coding: utf-8 import cv2 import os from os.path import join def pic_size_find(pic_path: str): img = cv2.imread(pic_path,0) h, w = img.shape[:2] return(w, h) def pics_list(path:os.path): files = [f for f in os.listdir(path) if (f.endswith(".jpg") or f.endswith(".jpeg") or f.endswith(".png"))] return files def file_move(file, dest): os.rename(file, dest) def main(): folder4k = "Wallpapers_4K" folder2k = "Wallpapers_2k" folderhd = "Wallpapers_hd" foldersd = "Wallpapers_sd" folderuw = "UltrawideWallpapers" res4k = (4096, 2160) reslow4k = (3840, 2160) res2k = (2560, 1440) reshd = (1920, 1080) resuw = (3440, 1440) print("Size begins !") for folder in [folder4k, folder2k, folderhd, foldersd, folderuw]: os.makedirs(join(".", folder), exist_ok=True) print(f"Folder {folder} created if needed") files = pics_list("./Wallpapers") print(f"About to run on {len(files)} pictures...") cont = input("Press enter to start, Ctrl+C to cancel") for f in files: f_path = join("wallpapers", f) size = pic_size_find(f_path) print(f"{f} => {size}") if size == res4k or size == reslow4k: file_move(f_path, join(folder4k, f)) dest_folder = folder4k elif size == res2k: file_move(f_path, join(folder2k, f)) dest_folder = folder2k elif size == reshd: file_move(f_path, join(folderhd, f)) dest_folder = folderhd elif size == resuw: file_move(f_path, join(folderuw, f)) dest_folder = folderuw else: file_move(f_path, join(foldersd, f)) dest_folder = foldersd print(f"{f} moved to {dest_folder}") print("Done, Sayonara") if __name__ == "__main__": main()