Files
utilidades-python/renombrado-sercop/renombrar-archivo.py

42 lines
1.5 KiB
Python

import os
import re
from tkinter import Tk, filedialog, messagebox
def limpiar_nombre_archivo(nombre):
# Cambiar espacios en blanco por guiones bajos
nombre = nombre.replace(' ', '_')
# Cambiar eñes por enes
nombre = nombre.replace('ñ', 'n')
# Eliminar caracteres especiales (dejando solo letras, números y guiones bajos)
nombre = re.sub(r'[^a-zA-Z0-9_]', '', nombre)
return nombre
def seleccionar_archivo():
root = Tk()
root.withdraw() # Ocultar la ventana principal de Tkinter
archivo = filedialog.askopenfilename(title="Seleccionar archivo")
if archivo:
# Obtener el directorio y el nombre del archivo
directorio = os.path.dirname(archivo)
nombre_archivo = os.path.basename(archivo)
# Limpiar el nombre del archivo
nombre_limpio = limpiar_nombre_archivo(nombre_archivo)
# Crear nuevo nombre de archivo con la misma extensión
nombre_nuevo = f"{nombre_limpio}{os.path.splitext(nombre_archivo)[1]}"
ruta_nueva = os.path.join(directorio, nombre_nuevo)
# Crear la copia del archivo
with open(archivo, 'rb') as f_original:
with open(ruta_nueva, 'wb') as f_copia:
f_copia.write(f_original.read())
messagebox.showinfo("Éxito", f"Copia creada: {ruta_nueva}")
else:
messagebox.showwarning("Advertencia", "No se seleccionó ningún archivo.")
if __name__ == "__main__":
seleccionar_archivo()