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 :

accents dans un script [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Par défaut accents dans un script
    Bonjour,
    J'avais un problème d'affichage des données accentuées lues dans un fichier.
    Après quelques jours de recherche (je ne trouvais d'abord des infos que sur l'en-tête des script et concernaient surtout Python 2) j'ai trouvé la réponse dans https://www.developpez.net/forums/d1...scii-non-utf8/ grâce à la réponse
    Citation Envoyé par wiztricks Voir le message
    L'en-tête "coding: utf-8" ne s'applique qu'au script (qui est aussi un fichier texte).
    Pour les fichiers manipulés par ce script là, l'encoding se déclare à l'open(...., encoding='latin-1') - par exemple.
    Je voudrais quand même me faire préciser si j'ai bien compris :
    - l'en-tête # coding: utf8 concerne uniquement le texte du script, par exemple si je crée un variable variableA = "accentuée"
    - open(....,encoding='utf8') pour l'ouverture d'un fichier en lecture contenant des accents
    - faut-il le mettre aussi pour l'ouverture d'un fichier en écriture contenant des accents ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # -*- coding: utf8 -*-
    FichierData  = open("lecture", "r",encoding='utf8') 
    DataLigneLue=FichierData.readline()
    print(DataLigneLue," = accentuée ?")
    cordialement

    Leni

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par lenny.libre Voir le message
    - faut-il le mettre aussi pour l'ouverture d'un fichier en écriture contenant des accents ?
    Et oui.
    D'ailleurs il devrait y avoir tout un chapitre sur la question dans votre tuto. favori. Dans le Swinnen, c'est ici.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Par défaut accents dans un script
    Désolé d'avoir passé du temps avant de pouvoir répondre.

    Je ai trouvé que le Swinnen assez complexe pour moi (j'avais lu, mais oublié pas mal de choses) j'avais pensé à le lire qu'avec des versions récentes de logiciel il n'était pas nécessaire de préciser l'encodage "utf8".

    En fait si : (mon os est W10)
    - si j’extrais d'Openstreetmap des données avec accent, le bloc-note les affiche nativement.
    - mais pour Libreoffice Calc, il faut lui préciser le codage.
    - si j’écris avec le bloc-note des caractères accentués, pour les lire avec Libreoffice Calc, il faut lui préciser le codage.
    - il faut que je précise à Python 3.0 le codage pour lire les données (sortant d'OpenStreetMap) du bloc-note ou de de LibreOffice Calc
    - il faut préciser le codage dans le script et pour l'écriture

    Pour mon besoin, finalement, seul le bloc-note sait lire les caractères accentués sans lui indiquer le codage.

    Cordialement
    Leni

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par lenny.libre Voir le message
    Pour mon besoin, finalement, seul le bloc-note sait lire les caractères accentués sans lui indiquer le codage.
    Tant que vous n'aurez pas compris que les caractères accentués n'existent pas et que d'un programme à l'autre (ou vers un fichier) on ne transfère que des bytes/octets... vous aurez des soucis.

    Pourtant Unicode, utf-8, ... existent depuis les années 80 (du siècle dernier). La littérature sur le sujet est abondante. Et vous avez même un how-to livré avec Python qui est pas si mal (mais pas facile à comprendre).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Par défaut
    Bonjour.
    Je me suis sans doute mal exprimé ; je sais bien qu'il n'y a a que des bytes/octets qui sont transférés et en précisant à chaque étape le codage je récupère bien mes caractères accentués ; je pensais seulement que la précision du codage n'était plus nécéssaire avec les logiciels récents tels que Python 3.x.

    Désolé de vous avoir dérangé.
    Cordialement
    Leni

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par lenny.libre Voir le message
    je pensais seulement que la précision du codage n'était plus nécessaire avec les logiciels récents tels que Python 3.x.
    Ca va pas le deviner!
    Soit le codage correspond au défaut qui sera appliqué soit il faut le préciser.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/01/2013, 20h41
  2. Accent dans un script
    Par rico63 dans le forum SAP
    Réponses: 0
    Dernier message: 26/09/2012, 11h18
  3. Problème d'accent dans le script java
    Par anaice dans le forum Pentaho
    Réponses: 1
    Dernier message: 06/11/2009, 15h12
  4. Pb d'accents dans un script batch
    Par cassy dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 05/09/2007, 21h45
  5. [PHP-JS] Problème accents dans script PHP
    Par zigor dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2006, 18h45

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