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 d'un fichier et problème de split


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 57
    Par défaut lecture d'un fichier et problème de split
    Bonjour,

    J'essaye de travailler sur google calendar et à ce titre je voudrais pouvoir afficher les différents calendrier qui sont dans mon compte.

    Avec le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    cal_client = gdata.calendar.service.CalendarService()
    cal_client.email = u"pboulanger48@gmail.com"
    cal_client.password = "XXXXXXX"
    cal_client.source = 'Google-Calendar_Python_Sample-1.0'
    cal_client.ProgrammaticLogin()
     
    feed = cal_client.GetCalendarListFeed()
    liste = []
     
    for entry in feed.entry:
     
        titre = entry.title.text
        titre = str(titre)
        f=open('temp.txt','a')
        f.write(titre)
        f.write("\n")
    j' obtiens un fichier temporaire qui contient bien les titres de mes calendriers:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pboulanger48@gmail.com
    VIVAQUA
    Anniversaires et événements des contacts
    ensuite, je voudrais les importer dans une liste, mais avec le code ci-dessous, le split s'effectue sur les espaces, comme la dernière ligne du fichier comporte des espaces, je me retrouve avec une liste fausse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    f=open('temp.txt',"r");
    fdata = f.read()
    titres=fdata.split();
    f.close();
    os.remove("temp.txt")
    print titres
    la sortie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ['pboulanger48@gmail.com', 'VIVAQUA', 'Anniversaires', 'et', '\xc3\xa9v\xc3\xa9nements', 'des', 'contacts']
    Ma question est comment puis-je éviter qu'une ligne comprtant des espaces soit splitée ?

    Merci d'avance de vos réponses,

    Pierre

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    .splitlines!
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert confirmé

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Par défaut
    Bonjour Pierre,

    Avant tout, à ta sortie, on constate un probleme avec les accents. Je te conseille donc d'utiliser un encodage UTF-8 pour éviter ce désagrément.

    Ta demande porte t elle sur une méthode de split avec un caractère autre qu'espace? Dans ce cas, un petit .split('\n') suffit (sous Linux. \r\n ou \n\r sinon sous windows)

    Si cela ne correspond pas à ton attente, n'hesite pas

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 57
    Par défaut
    @wiztricks: Un tout grand merci !
    @deusyss: Le problème des accents ne se produit que dans la console, comme je travaille avec Tkinter, je n'ai pas ce problème à l'affichage...

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Citation Envoyé par deusyss Voir le message
    Ta demande porte t elle sur une méthode de split avec un caractère autre qu'espace? Dans ce cas, un petit .split('\n') suffit (sous Linux. \r\n ou \n\r sinon sous windows)
    L’intérêt de .splitlines est d’être "universel".

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

  6. #6
    Expert confirmé

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Par défaut
    J'avoue ne developper que sous Linux et pour Linux (même si je commence à regarder depuis peu le deploiement windows), donc je ne me suis jamais poser cette question d'universalité. De fait je ne connaissais pas le splitlines.

    On en apprend tous les jours. Merci beaucoup

  7. #7
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Citation Envoyé par deusyss Voir le message
    je ne connaissais pas le splitlines.
    Moi non plus. Cool, ce forum, tous les jours j'apprends!

    A+

    Pfeuh

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

Discussions similaires

  1. [C#] Lecture d'un fichier Excel: problème
    Par Leelith dans le forum C#
    Réponses: 4
    Dernier message: 19/12/2009, 14h08
  2. Problème de split lors d'une lecture d'un fichier csv
    Par Mawinette dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 25/03/2009, 11h48
  3. Problème de lecture dans un fichier xml
    Par Pyra dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2005, 00h13
  4. Problème lors de la lecture d'un fichier avec Input...
    Par Kronoob dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 18/11/2005, 18h55
  5. Réponses: 12
    Dernier message: 14/06/2004, 13h06

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