2016-09-28 1 views
0

Edit: Ich möchte 2 Zeilen unter dem vom Benutzer eingegebenen Code drucken, aber es scheint nicht zu funktionieren.Wie drucke ich 2 Zeilen unter einer Zeile aus einer Textdatei?

meine Textdatei sieht wie folgt aus:

86947367 
banana 
5 

78364721 
apple 
3 

35619833 
orange 
2 

84716491 
sweets 
8 

46389121 
chicken 
10 

ich versucht habe:

file = ('read_it.txt') 
user = input('Enter code') 

with open(file, 'r') as f: 
    lines = f.readlines() 
    for i, line in enumerate(lines): 

     if line == user: 
      print("{}\n{}".format(lines[i+1], lines[i+2])) 

Aber ich eine Leistung von 2 Leerzeilen erhalten.

Antwort

0
file = 'filename.txt' 
user = input('Enter code') 

with open(file, 'r') as f: 
    lines = [line.strip() for line in f.readlines()] # Strip \n and \t from text 
    for i, line in enumerate(lines): # enumerate will count and keep track of the lines 
     if line == user: 
      print("{}\n{}".format(lines[i+1], lines[i+2])) 
+0

der Code macht Sinn, aber es gibt mir nur eine leere Zeile. –

+0

@ Jeff1231 Sicherstellen, dass das erste offensichtlich ist (dass deine Textdatei wirklich Text enthält), als nächstes würde ich versuchen, jede Zeile zu drucken, um sicherzustellen, dass du nichts Einfaches verpasst. Die erste und die zweite Zeile nach einem Code können tatsächlich Leerzeilen sein. Sie könnten auch versuchen, Zeile auszudrucken, nachdem Sie in die if-Anweisung gegangen sind, um weitere Fehler zu finden. Bearbeiten Sie Ihre Frage mit dem Code, den Sie gerade verwenden, um bessere Unterstützung zu erhalten. –

+0

Ich habe versucht, Zeilen nach der if-Anweisung zu drucken und es hat alles in meiner Textdatei erfolgreich gedruckt, aber nichts auf 2 Zeilen darunter. –

Verwandte Themen