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

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2018
    Messages : 47
    Points : 45
    Points
    45

    Par défaut Petit problème d'encodage

    Bonjour à vous, j'ai pas trouvé de forum à 100% approprié pour ma question donc je poste ça ici. J'ai crée plusieurs listes en python en spécifiant le paramètre encoding dans l'ouverture du fichier et à chaque fois j'obtiens une erreur "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 7706: invalid continuation byte". J'aimerais connaitre vos bonnes pratiques quant à la création de dictionnaires afin qu'ils soient réutilisables (de préférence sous windows et linux). Merci d'avance

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    liste = []
    with open("fichier.txt","a", encoding='utf-8') as f:
        for i in range(10):
            f.write('random' + '\n')

  2. #2
    Membre expérimenté
    Homme Profil pro
    Enseignant
    Inscrit en
    juin 2013
    Messages
    1 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2013
    Messages : 1 045
    Points : 1 369
    Points
    1 369

    Par défaut

    Ce programme fonctionne chez moi.
    Tu a bien mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    en premières lignes de ton programme ?
    Pas d'aide par mp.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2018
    Messages : 47
    Points : 45
    Points
    45

    Par défaut

    Merci à toi pour la réponse, en effet j'ai pas précisé l'encodage en début de fichier, je suis sous python 3 et il me semblait que l'encodage de base était utf-8 contrairement à python 2. Il y a des caractères à éviter pour ne pas provoquer cette erreur ou logiquement si l'encodage est définie je devrais pouvoir lister toutes sortes de chaines de caractères ? Je me demande surtout si ma façon de faire est la bonne vu que je n'ai plus le code qui a généré le dictionnaire cassé.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Enseignant
    Inscrit en
    juin 2013
    Messages
    1 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2013
    Messages : 1 045
    Points : 1 369
    Points
    1 369

    Par défaut

    A priori, tu peux tout mettre.
    Ton fichier txt existe déjà ? Car si c'est le cas, il est peut-être encodé avec un autre encodage.
    Pas d'aide par mp.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2018
    Messages : 47
    Points : 45
    Points
    45

    Par défaut

    Oui et je crois que ce fichier a été généré en python mais sous linux, mais de l'utf-8 c'est de l'utf-8 non ? A moins qu'il y ai une différence fondamentale entre un fichier texte linux et windows ?

  6. #6
    Membre expérimenté
    Homme Profil pro
    Enseignant
    Inscrit en
    juin 2013
    Messages
    1 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2013
    Messages : 1 045
    Points : 1 369
    Points
    1 369

    Par défaut

    S'il a été généré par windows, il est fort à parier qu'il ait été encodé en latin1.
    Sinon, oui utf8, c'est utf8.
    Pas d'aide par mp.

Discussions similaires

  1. Petit problème d'encodage
    Par Hellnino18 dans le forum Général Java
    Réponses: 12
    Dernier message: 07/04/2009, 10h26
  2. Petit problème de décimales !
    Par ridan dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/09/2004, 21h24
  3. Réponses: 17
    Dernier message: 13/07/2004, 20h37
  4. petit problème premier plan, arrière plan
    Par gros bob dans le forum OpenGL
    Réponses: 4
    Dernier message: 19/04/2004, 12h00
  5. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55

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