Bonsoir,
J'ai un souci actuellement sur cette fonction has_key()...
Explications :
J'ai un fichier XML que j'analyse, codé en 'iso-8859-1' ou quelque chose comme ça.
Ce fichier, j'en extrais certaines informations, pour en élaborer un autre (qui regroupe d'autres fichiers unitaires). Ce nouveau fichier XML est encodé en windows-1256 (ça j'en suis plus sûr...).
En conf, j'ai un fichier équivalent à ce fichier global.
Chaque trame de ce fichier en conf est indexée par un identifiant (chaîne de caractères générée à partir de certains éléments de chaque trame) dans un dictionnaire.
Puis sur le nouveau fichier global, je parse chaque trame pour identifier les évolutions entre les deux fichiers.
Pour ça, pour chaque trame, on calcule de la même façon l'identifiant, puis on effectue une recherche dans le dictionnaire du fichier en conf.
Sauf que, là, pour certaines trames, la fonction has_key() ne retourne pas le résultat attendu... L'identifiant est bien présent dans le dictionnaire du fichier en conf, mais rien n'y fait.
j'ai effectué un dump des clés des deux fichiers, élaboré les index en encodant les chaînes en 'windows-1256' (pour avoir quelque chose d'homogène), remplacé les caractères accentués par des non accentués...
Aucune solution pour le moment...
Avez vous d'autres pistes à explorer...
Y-a-t-il une taille limite à un dictionnaire ?
Y-a-t-il des problèmes/limites connus sur les dictionnaires ?
Les clés sont elles limitées ?
Python 2.4.
C'est sûrement très indigeste, j'en suis désolé...
merci de votre aide !![]()
Partager