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 :

loop print line +5


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 115
    Points : 56
    Points
    56
    Par défaut loop print line +5
    Bonjour,
    je suis débutant, j'ai une petite question simple:
    mon code ouvre un fichier text, loop sur toutes les lignes, s'il si la ligne contient un mot, je veux qu'il me retourne le contenue de la 5eme ligne après cette ligne , voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for line in open("fichiet.txt"):
        if 'MyString' in line:
            print line + 5
    quand je laisse juste "print line" ça fonctionne, mais moi ce qui m'intéresse c'est la 5eme ligne après celle-là, quand j'ai essayé "ligne + 5" comme dans le code ci-haut, ça ne fonctionne plus.
    merci.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Lorsque tu ecris:
    tu supposes que line est un numérique.

    Or, tu sais que ce n'est pas le cas.

    Pour pouvoir te servir dans le texte que tu lis, selon l'ordre des lignes il faut en dresser la liste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    with open("fichiet.txt", "r") as inf:
        lines = inf.readlines()
    maintenant, tu peux utiliser librement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for idx, line in enumerate(lines):
        if 'truc' in line:
            print lines[idx+5]

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 115
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Lorsque tu ecris:
    tu supposes que line est un numérique.

    Or, tu sais que ce n'est pas le cas.

    Pour pouvoir te servir dans le texte que tu lis, selon l'ordre des lignes il faut en dresser la liste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    with open("fichiet.txt", "r") as inf:
        lines = inf.readlines()
    maintenant, tu peux utiliser librement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for idx, line in enumerate(lines):
        if 'truc' in line:
            print lines[idx+5]
    Merci beaucoup!

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

Discussions similaires

  1. Execution command line net print
    Par pjmorce dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 21/11/2008, 09h33
  2. Probleme d'impression avec la méthode TForm->Print()
    Par Kid Icarus dans le forum C++Builder
    Réponses: 13
    Dernier message: 31/07/2002, 14h26

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