Renombrando en Ubuntu con la potencia de Python

Tal y como comenté el otro día, en el artículo Renombrado de archivos en Ubuntu, sería muy interesante poder traer el potencial de Python para utilizarlo renombrando archivos, así que me he puesto y lo he hecho, y estoy verdaderamente asombrado de la potencia de este sencillo script, que si bien se podría considerar como un punto de partida, la potencia del mismo está fuera de toda duda.

Renombrando archivos

El funcionamiento es bien sencillo, seleccionas varios archivos en Nautilus, y haces clic con el botón derecho del ratón para que te aparezca el menú contextual:

renombrando archivos - captura 1

Yo en principio, lo he instalado ahí, pero tu puedes instalarlo en cualquier otro sitio dentro de la carpeta de scripts de nautilus, como luego te indicaré. Bueno, seleccionas rename-me, y te aparecerá la siguiente ventana:

renombrando archivos - captura 2

Como ves, en la parte superior ves unas instrucciones mínimas, a saber:

{filename} corresponde al nombre del archivo
{extension} es la extension del archivo
{iterator} es un iterador que luego veremos su uso
format_numbert(patter,number) es una función para formatear números. Luego explicaré su uso.

Si directamente pulsas sobre el botón Preview, obtendrás el siguiente resultado:

renombrando archivos - captura 3

Como ves no hemos avanzado gran cosa, ahora viene lo bueno. Instalación y uso:

Instalación

Este complemento no se encuentra en los repositorios oficiales de Ubuntu, para instalarlo, ejecuta las siguientes órdenes en un emulador de terminal,

sudo add-apt-repository ppa:atareao/nautilus-extensions
sudo apt update
sudo apt install rename-me

Uso. Renombrando archivos.

Funciona igual que si manejaras Python. Si conoces Python, pues ya no hace falta nada mas. Si no conoces Python, a que esperas para aprender, ahora tienes una nueva herramienta para practicar sin parar.

He definido 3 variables, como he explicado arriba {filename} y{extension} que se sustituyen con las características del archivo en cuestión y {iterator} que es un contador y se sustituye por el número de archivo.

Nociones básicas

  • Sustituir guión bajo por espacio: {filename}.replace(«_»,» «). Replace en Python

renombrando archivos - captura 4

  • Además de reemplazar el guión bajo, convertimos a minúsculas. Lower in Python. Además de lower(), tienes:
    • capitalize() convierte el primer carácter a mayúsculas y el resto a minúsculas
    • swapcase() convierte las minúsculas a mayúsculas y viceversa
    • title() convierte el primer carácter de cada palabra en mayúscula y el resto en minúsculas
    • upper() convierte a mayúsculas todo

renombrando archivos - captura 5

  • Ahora introducimos {iterator} y format_number. Como he mencionado antes, {iterator} simplemente cuenta los archivos. Con format_number lo formateas. ¿Como funciona? lo que hace es remplazar caracteres del patrón con el número. Por ejemplo, si el patrón es «000» y el número «47», la cosa queda en «047», si el patrón fuera «0000», entonces sería «0047», si el patrón fuera «tortilladepatatas» -> «tortilladepatat47»

renombrando archivos - captura 6

  • También se puede trabajar directamente con la cadena de caracteres:
    • {filename}[:10] -> los primeros diez caracteres
    • {filename}[10:] -> del décimo caracter al final
    • {filename}[:-2] -> todos menos los dos últimos
    • {filename}[-2:] -> los dos últimos
    • {filename}[1:4] -> del carácter 1 (antes del uno está el carácter cero) hasta el carácter 4 (sin incluir)

renombrando archivos - captura 7

  • Lo mismo que antes y además minúsculas

renombrando archivos - captura 8

  • Igual que antes pero sin extensión:

renombrando archivos - captura 9

  • Ahora con la extensión en mayúsculas

renombrando archivos - captura 10

Como ves el potencial es enorme y las posibilidades infinitas. Quizá sería interesante añadir la opción de deshacer, así como guardar las más utilizadas para reutilizarlas posteriormente, pero esto lo dejaré para más adelante, a ver que opináis.

2 comentarios en “Renombrando en Ubuntu con la potencia de Python

  1. DA
    David Gómez hace 14 años

    wow, excelente aplicación, hace rato que quiero aprender Python pero no soy programador. Esto me anima aun mas.

    Siempre sorprendiéndome con tu trabajo, felicitaciones.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *