Problema: avevo migliaia di file da rinominare e avevo un file di transcodifica in Excel che conteneva il nome attuale del file e il nuovo nome da attribuire.

Soluzione: ho estratto i nomi dei file (attuale e futuro) dal file Excel e li ho salvati in due file .txt (IN.txt e OUT.txt), poi ho scritto un programma in Python (che richiama un comando BASH) per rinominare i file utilizzando le corrispondenze trovate nei due file .txt.

Ecco di seguito il programma:

import os

print("Programma partito")
lines_in = [line_in.rstrip('\n') for line_in in open("IN.txt")]
print(lines_in)
print(len(lines_in))
lines_out = [line_out.rstrip('\n') for line_out in open("OUT.txt")]
print(lines_out)
print(len(lines_out))

    i=0
    while i < len(lines_in):
         nome_file_in=lines_in[i]
         nome_file_out=lines_out[i]
         print("Rename " + nome_file_in + " in " + nome_file_out)
         os.system("mv " + nome_file_in + " " + nome_file_out)
         i=i+1  

Ovviamente il numero di righe presenti nei due file deve essere uguale. Questo programma non effettua nessun controllo sul numero di righe; quindi in caso di differenze tra i due file, si verificheranno dei problemi.
Presente anche sulla mia pagina su GitHub.