Python: Wydrukuj następne x wierszy z pliku tekstowego po naciśnięciu ciągu
Sytuacja wygląda następująco:
Mam plik .txt z wynikami kilku nslookupów.
Chcę zapętlić plik i za każdym razem, gdy trafi on na ciąg „Nieautorytatywna odpowiedź:” skrypty muszą wydrukować następujące 8 wierszyz ta pozycja. Jeśli to działa, powinienem uzyskać wszystkie pozytywne wyniki na moim ekranie :).
Najpierw miałem następujący kod:
#!/bin/usr/python
file = open('/tmp/results_nslookup.txt', 'r')
f = file.readlines()
for positives in f:
if 'Authoritative answers can be found from:' in positives:
print positives
file.close()
Ale to tylko drukowane „Odpowiedzi autorytatywne można znaleźć z:” czasów, w których był w .txt.
Kod, który mam teraz:
#!/bin/usr/python
file = open('/tmp/results_nslookup.txt', 'r')
lines = file.readlines()
i = lines.index('Non-authoritative answer:\n')
for line in lines[i-0:i+9]:
print line,
file.close()
Ale kiedy go uruchomię, ładnie wypisuje pierwszy wynik na moim ekranie, ale nie drukuje innych pozytywnych wyników.
p.s. Zdaję sobie sprawę z socket.gethostbyname („foobar.baz”), ale najpierw chcę rozwiązać ten podstawowy problem.
Z góry dziękuję!