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 ")