Outils pour utilisateurs

Outils du site


tris_dictionnaire_francais

Warning: Undefined array key -1 in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/html.php on line 1458

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
tris_dictionnaire_francais [2011/09/16 06:50]
tyrtamos
tris_dictionnaire_francais [2012/02/28 09:45] (Version actuelle)
tyrtamos
Ligne 1: Ligne 1:
 ====== Tri et recherche rapide selon le dictionnaire français ====== ====== Tri et recherche rapide selon le dictionnaire français ======
  
 +(Modification le 28/2/2012: modif du code de la classe Compfr pour éviter des problèmes d'encodage dans le reste du code)
  
 ===== Problématique ===== ===== Problématique =====
Ligne 18: Ligne 19:
  
 class Compfr(object): class Compfr(object):
- +    """comparaison de 2 chaines selon le dictionnaire français""" 
 +    
     def __init__(self, decod='utf-8'):     def __init__(self, decod='utf-8'):
         self.decod = decod         self.decod = decod
-        locale.setlocale(locale.LC_ALL, '')+        self.loc = locale.getlocale(# stocker la locale courante
         self.espinsec = u'\xA0' # espace insécable         self.espinsec = u'\xA0' # espace insécable
    
     def __call__(self, v1, v2):     def __call__(self, v1, v2):
- +        
         # on convertit en unicode si nécessaire         # on convertit en unicode si nécessaire
         if isinstance(v1, str):         if isinstance(v1, str):
Ligne 37: Ligne 39:
         v2 = v2.replace(u'-', '')         v2 = v2.replace(u'-', '')
         v2 = v2.replace(self.espinsec, u'')         v2 = v2.replace(self.espinsec, u'')
 +
 +        locale.setlocale(locale.LC_ALL, '')
 +        comp = locale.strcoll(v1, v2)
 +        locale.setlocale(locale.LC_ALL, self.loc) #retour à la locale courante
    
-        # on retourne le résultat de la comparaison +        return comp retour du résultat de la comparaison
-        return locale.strcoll(v1, v2)+
 </code> </code>
  
tris_dictionnaire_francais.txt · Dernière modification: 2012/02/28 09:45 de tyrtamos