Bonjour,
Je suis débutante en python.
Je dois remplacer les accents par des lettres non accentués dans le nom de plusieurs fichiers d'un dossier.
Pour cela j'ai cherché la réponse sur plusieurs forum, j'en ai trouvé une qui me semblait bonne et je l'ai adapté à mon cas :
Or cela ne fonctionne pas aucun de mes noms de fichier est modifié et il n'y a pourtant aucun message d'erreur. Pour trouver le problème j'ai effectué des print à toutes les étapes. Par cette méthode j'arrive à récupérer les noms de mes fichiers, les caractères accentués, les équivalents non accentués. Mais quand je fait print nomch je n'obtiens qu'un nom de fichier.
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 import os, re wksp = r"C:\stagiaire\Photos" # chemin des photos def supprime_accent(wksp): """ supprime les accents du texte source """ accents = { 'a': ['à', 'ã', 'á', 'â'], 'e': ['é', 'è', 'ê', 'ë'], 'i': ['î', 'ï'], 'u': ['ù', 'ü', 'û'], 'o': ['ô', 'ö'] } for (char, accented_chars) in accents.iteritems(): # Recuperation des données de accents for dirname, subdirs, files in os.walk(wksp): # Boucle sur chaque fichier du dossier wksp et ses sous-dossiers for nom in files: # Recupération de tous les noms de fichiers for accented_char in accented_chars: # Pour chaque accent nomch = nom.replace(accented_char, char) # Remplacement dans le nom des accents par les lettres correspondantes return nomch supprime_accent(wksp) print "script ok"
Je suis bloquée pourriez-vous m'aider s'il-vous-plaît.
Merci d'avance pour votre aide.![]()
Partager