As usual… super simple automation..
I know it is quite trivial, but the fact that with a few lines of code I could re-organize my files based on their extensions makes coding really fun even outside of work.
Code
# selective copy # walks through a folder tree and searches for files with a certain file extension. # copies file matches into a new folder # Usage: python scopy.py import sys import os import shutil if len(sys.argv) == 4: # TODO: get source, destination and extension source = os.path.abspath(sys.argv[1]) destination = os.path.abspath(sys.argv[2]) extension = sys.argv[3] # TODO: validate source and destination if not os.path.exists(source): print("Invalid source path") if not os.path.exists(destination): os.mkdir(destination) destination = os.path.abspath(destination) # TODO: loop through files and subfolders in source for folder, subfolders, files in os.walk(source): # TODO: use shutil to copy files to destination for file in files: if file.endswith(extension): # only copy if file does not exist in destination if not os.path.exists(os.path.join(destination, file)): shutil.copy(os.path.join( folder, file), destination) # TODO: print files copied (former path --> new path) print("File copied: {}".format(file)) else: print("Usage: python scopy.py ")