Renombrar ficheros a números en orden ascendente en Python

Últimamente para mis scripts, en vez de utilizar Bash u otras alternativas como GNU/Octave, estoy usando el lenguaje de programación Python. Para mí, Python es un lenguaje robusto y muy potente donde destaca en él algo que me fascina: la facilidad para leer código y reusarlo.

En este caso me gustaría compartir con vosotros un script que he creado hoy en el que he tenido que renombrar unas imágenes el siguiente orden: ‘00000.jpg’, ‘00001.jpg’, ‘00002.jpg’, ‘00003.jpg’, etc. Para ello se lee en una carpeta por orden nominal las imágenes jpg que lo contienen y después se procede a renombrarlos numéricamente y ascedentemente según el identificador que le hayamos pasado que en este caso es el 0.

Aquí os dejo el script modificado ligeramente para que sea más entendible:

import glob
import os

identificador = 0
ruta_carpeta = '/home/nacho/fotos'

lista_fotos = sorted(glob.glob(ruta_carpeta + '/*.jpg'))

for i in lista_fotos:   
    nuevo_nombre = ruta_carpeta + '/' + str(identificador).zfill(5) + '.jpg'        
    identificador = identificador + 1
    os.rename(i, nuevo_nombre)

Este código funciona para Python 2 y Python 3.

Author Description

Manuel Ignacio López Quintero

Ingeniero Informático especializado en Sistemas Inteligentes. Investigador, coadministrador de Linux Hispano y colaborador habitual de la revista Personal Computer & Internet. Para más información o para contactar con él visita su página oficial: Manuel Ignacio López Quintero.