Bonjour,
je suis débutant en python, j'éprouve donc quelques difficultés:
je souhaite renommer un grand nombre d'images éparpillées dans différents fichiers (qui ne contiennent pas seulement les fichiers à renommer!)
Les noms des images à renommer sont tous avec 5 chiffres aléatoires suivis d'un nombre de 0 à 31 suivi de .jpeg et parfois de ..jpeg
Voici quelques exemples de noms de fichiers et de ce que j'aimerais obtenir après renommage:
986741.jpeg => 1.jpeg (ce n'est pas une erreur il n'est pas écrit 01 hein!)
4727425.jpeg => 25.jpeg
3729211..jpeg => 11.jpeg
Je précise que normalement je n'aurais pas de problème de redondance (plusieurs 1 dans un même fichier), ça a été fait en amont normalement...
Voici mon code avec un peu de commentaires:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 import re import os if __name__ == '__main__': #declarer l'emplacement du repertoire pathp="C:\Users\Moi\Desktop" #recuperer les noms des fichiers et documents contenu dans le repertoire files=os.listdir(pathp) #ou bien: entrer la liste des répertoires à visiter manuellement? j=1:120 for k in range(j): files=str(k) #je n'ai pas testé cette partie du code... #pour chaque fichier de mon repertoire for fil in files: fs=os.listdir(fil) #pour chaque image contenu dans le sous repertoire for f in fs #mise en place d'un compteur qui servira a renommer mon fichier truc=str(i) #regex qui sert à differencier les fichiers a renommer des autres much=r"\w{5}"+truc+".jpeg$" name=os.path.basename #re.search ou re.match??? if re.search(much,name): os.rename(fil,truc)
Je code sous windows et je ne peux pas voir les erreurs (la fenêtre se referme toute seule), je sais juste que mes noms de fichiers ne bougent pas... ce qui n'est pas étonnant finalement ^^
Merci par avance pour votre aide![]()
Partager