imagenes webp alojadas en una carpeta convertidas a jpg
#!/usr/bin/env python3
import os
from PIL import Image
def convert_to_jpg_and_delete(directory):
"""
Convierte todas las imágenes PNG, WEBP o JPEG en una carpeta a formato JPG y elimina los originales.
"""
for filename in os.listdir(directory):
filepath = os.path.join(directory, filename)
if not os.path.isfile(filepath):
continue # Ignora subcarpetas
if filename.lower().endswith(('.png', '.webp', '.jpeg')):
try:
# Abre la imagen
img = Image.open(filepath)
# Si tiene canal alfa (transparencia), la convierte a RGB con fondo blanco
if img.mode in ("RGBA", "LA"):
background = Image.new("RGB", img.size, (255, 255, 255))
background.paste(img, mask=img.split()[-1]) # Usa el alfa como máscara
img = background
else:
img = img.convert("RGB")
# Genera el nombre de salida
jpg_filename = os.path.splitext(filename)[0] + '.jpg'
jpg_filepath = os.path.join(directory, jpg_filename)
# Guarda como JPEG
img.save(jpg_filepath, "JPEG", quality=95)
print(f"✅ Convertido: {filename} → {jpg_filename}")
# Elimina el original
os.remove(filepath)
print(f"🗑️ Borrado: {filename}")
except Exception as e:
print(f"❌ Error al procesar {filename}: {e}")
if __name__ == "__main__":
directorio = os.getcwd()
print(f"📂 Procesando imágenes en: {directorio}\n")
convert_to_jpg_and_delete(directorio)
print("\n✅ Conversión completada.")
ahora en terminal se ejecuta;
python3 convertir_jpg.py
Todas las .png
, .webp
y .jpeg
se convertirán a .jpg
y se eliminarán los originales.
para convertirlo en ejecutable
chmod +x convertir_jpg.py
sin olvidar colocar al principio del py lo siguiente para que se ejecute
#!/usr/bin/env python3
Qué piensas?