J'essaie de renommer les fichiers dans un répertoire de façon à ce que le nouveau nom soit le nom d'origine suivi d'un espace + "17-" + un nombre croissant de façon incrémentielle.Renommer les fichiers par lots en Python 2.7
Le code ci-dessous ne fait que renommer les fichiers de 151, vers le haut. Comment conserver le nom d'origine, en ajoutant le texte "17-" et les chiffres?
import os
path = 'C:\Users\dcs\Desktop\Test direct'
files = os.listdir(path)
i = 151
for file in files:
os.rename(os.path.join(path, file), os.path.join(path, str(i)+'.TIF'))
i = i+1
Est-ce que 'file' est toujours une chaîne? Essayez 'type d'impression (fichier) juste avant la commande' renommer '. Sur mon Python, 'listdir' renvoie une liste de chaînes. – Prune
C'est vraiment étrange: 'file' est un type générique * ?? Je ne peux pas reproduire cela avec votre code. J'ai essayé ma solution dans mon répertoire local, et cela fonctionne comme prévu, en donnant '' pour le type de variable. Qu'est-ce que Python? Avez-vous coupé et collé ce code dans votre environnement pour vous assurer que nous exécutons la même chose? Tout ce que je faisais était de remplacer votre chemin par "." et désactiver la commande 'renommer '. –
Prune
'fname' est défini dans l'instruction' for'. – Prune