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 :

Recherche dans fichier


Sujet :

Python

  1. #1
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut Recherche dans fichier
    Bonjour,

    J'ai besoin de rechercher la date de début et de fin dans fichier texte (en gras).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sat, Jul 22, 2006 04:44:59 AM
    Etiquette : START_LABEL
    04:45:00
    Etiquette : N010
     MAG_DEB=71
     MAG_FIN=399
     CLASSE=10
     SOCIETE=1
    ....
    COMPLETED: ALDATA 
    Etiquette : SIMU
    Sat, Jul 22, 2006 04:46:02 AM
    logout
    Je suis débutant en python et je voudrais prendre un bon départ....

    Voila ce que j'ai déjà écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import os
     
    ma_racine='E:\MonRep'
    """Permet de filtrer fichier et repertoire"""
    liste_fichiers = [f for f in os.listdir(ma_racine) if os.path.isfile(os.path.join(ma_racine, f))]
     
    for fichier in liste_fichiers:
        print 'traitement du fichier :' + fichier
        ofi = open(os.path.join(ma_racine, fichier),'r')
        t = ofi.read()
        t.find('AM')
        print t
        ofi.close()
        break
    Comment faire pour récupérer que les lignes en gras de mon fichier texte ?

    Merci d'avance,

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Expressions régulières

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import re
    #[...]
     
    flags = re.I #insensible à la casse
    #flags |= re.LOCALE #facultatif
    #flags |= re.UNICODE #facultatif (ne pas utiliser en même temps que LOCALE)
    lignes_en_gras = re.findall(r"^((\w{3}),\s(\w{3})\s(\d{2}),\s(\d{4})\s(\d{2}):(\d{2}):(\d{2})\s([AP]M)\s*)$", t, flags)
    Les flags LOCALE et UNICODE permettent d'avoir des noms de jours/mois comportant des caractères accentués ou autres caractères spéciaux
    La liste des lignes sera une liste de tuples: (ligne complète, éléments de la date)

  3. #3
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    C'est trop puissant !

    Je crois qu'il faut que j'approfondisse les re.

    Merci

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

Discussions similaires

  1. [JSP/SERVLET] Moteur de recherche dans fichiers PDF
    Par crewstyle dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 27/04/2007, 16h18
  2. Recherche dans fichier xml
    Par sandytarit dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 19/03/2007, 10h28
  3. recherche dans fichier xml
    Par piro dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/03/2006, 08h11
  4. Réponses: 4
    Dernier message: 28/10/2005, 09h59
  5. Recherche dans fichiers
    Par Tchinkatchuk dans le forum Linux
    Réponses: 2
    Dernier message: 17/06/2005, 10h32

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