|
import os # Paquete os de la biblioteca estandar de Python |
|
from PIL import Image # Biblioteca Pillow |
|
|
|
directorio = "./fotos" # Carpeta en la que se encuentran las fotos |
|
|
|
# Preguntar al usuario si desea que las imagenes sean cortadas |
|
cortar = input("Desea cortar y convertir a PNG el archivo? SI/NO: ") |
|
|
|
""" |
|
Iterar los archivos de la carpeta que contiene las fotografias |
|
os.listdir() -> Este metodo retorna una lista de archivos en una carpeta determinada |
|
""" |
|
|
|
for filename in os.listdir(directorio): |
|
# Al iterar los archivos de la carpeta en cada repeticion del bucle |
|
# el nombre de cada archivo se guardara en la variable filename |
|
|
|
# Se divide el nombre del archivo en dos partes mediante el metodo split |
|
nombre, extension = filename.split(".") |
|
|
|
# Se obtiene la fecha de creación del archivo |
|
timestamp = os.path.getctime(f"./fotos/{filename}") |
|
|
|
# Se guarda la ruta completa del archivo en la variable full_name |
|
full_name = f"./fotos/{filename}" |
|
|
|
# Si el nombre del archivo contiene la palabra "cropped" o "Mascota" |
|
# no se hace nada pues estos archivos ya han sido procesados anteriormente. |
|
if "cropped" in filename or filename.startswith("Mascota"): |
|
pass # no hacer nada |
|
else: |
|
# Se guarda en la variable new_name el nuevo nombre del archivo para ser renombrado |
|
new_name = f"./fotos/Mascota_{str(timestamp)}.{extension}" |
|
|
|
# Se renombra el archivo |
|
os.rename(full_name, new_name) |
|
|
|
# Si el usuario ingreso la palabra "SI" a la pregunta si desea cortar la imagen |
|
if cortar == "SI": |
|
|
|
foto = Image.open(full_name) # Abrir el archivo de imagen |
|
|
|
# Cortar la imagen desde el origen 0, 0 |
|
# se corta una seccion de 600x300 pixeles |
|
# y se guarda la nueva imagen cortada en la variable foto_cortada |
|
foto_cortada = foto.crop((0,0, 600, 300)) |
|
|
|
# Se guarda la foto_cortada como un archivo png con el sufijo "cropped" |
|
foto_cortada.save(f"./fotos/{nombre}_cropped.png") |