IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Lecture de fichier utf-8


Sujet :

Python

  1. #1
    Membre averti
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut Lecture de fichier utf-8
    bonjour,

    Lorsque j'essai de lire un fichier utf-8 avec python (readline), il m'affiche ma ligne mais avec une cochonerie (caractère bizarre) juste avant le premier caractère.

    Cela me pose problème car je dois faire des comparaison de ligne


    Si vous pouviez m'éclairer





    Yoan.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Par défaut
    C'est eu ce problème, et j'ai trouver une astuce qui me converti le fichier encodé en UTF-8 en un fichier encodé en ISO-8859


    A toi de voir, si ca te convient

    http://www.blognote-info.com/index.p...tf8-vers-l-iso

  3. #3
    Membre averti
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut
    merci de votre attention, mais ceci ne résoud pas mon problème.

    si je voulais convertir le fichier, j'aurais tout simplement copier/coller le contenu de mon fichier "utf8" dans un autre fichier "ansi" et ça aurait fonctionné, pas besoin de convertir, l'éditeur le fait tout seul.

    Seulement je veux travailler avec de l'utf8, je veux pas convertir (copier/coller) à chaque fois.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut
    Logiquement il y a plus simple :

    f=open('ton_fichier', 'r')
    f2=f.encode('utf-8')
    f2.readline()

    Ca marche pour moi en tout cas,

    bon courage,
    rc

  5. #5
    Membre averti
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut
    si je tappe ceci, ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	s=open(source, 'r')
    	s_utf=s.encode('utf-8') ==> 'file' object has no attribute 'encode'
    	d=open(destination, 'w')
     	d_utf=d.encode('utf-8')
    	while 1:
    		l=s_utf.readline()
                    ...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut
    c'est normal, il faut importer le module qui va avec :
    voila...

  7. #7
    Membre averti
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut
    rien que ceci me produit la même erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import codecs
    s=open('N:/passwd', 'r')
    s_utf=s.encode('utf-8')


  8. #8
    Membre averti
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut
    vous n'avez pas un petit indice

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut
    Je pense que ceci devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    s=codecs.open(ton_fichier, 'r','utf-8')
    print 'fichier lu = ',s.read()
    en oubliant pas d'importer le module codecs bien sur.

    Voila,
    rc

  10. #10
    Membre averti
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut
    Parfait, merci beaucoup

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Par défaut
    De rien

    mais n'oublie pas de marquer ton poste comme 'résolu'.

    rc

Discussions similaires

  1. Lecture de fichier: encodage utf-8 et iso-8859-1
    Par WindRider_ dans le forum Langage
    Réponses: 2
    Dernier message: 04/11/2009, 10h23
  2. Lecture fichier UTF-8
    Par JM-R dans le forum ASP.NET
    Réponses: 1
    Dernier message: 19/12/2008, 16h44
  3. Lecture du caractères UTF-16 fichier
    Par Jamlan dans le forum C
    Réponses: 4
    Dernier message: 27/12/2006, 14h41
  4. Lecture/écriture de fichiers UTF 16 LE
    Par Pill_S dans le forum Delphi
    Réponses: 8
    Dernier message: 19/12/2006, 18h08
  5. [ANT] Pb lecture fichier UTF-8
    Par tnodev dans le forum ANT
    Réponses: 1
    Dernier message: 23/04/2006, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo