Ich sollte eine Zeile finden. Ich habe ein Skript geschrieben. Ich habe eine Datei, wo ich Zeile duke
Python Grep Wort und Zeile vor diesem Wort
#!/usr/bin/python3.5
for line in open('test.txt'):
if 'duke' in line:
print(line)
Alles ist in Ordnung. Aber wie kann ich 2 Zeilen vor diesem Ergebnis sehen?
In Grep war es grep -B 2 "duke" test.txt
. Wie kann ich das gleiche in Python tun?
'grep -B 2' druckt zwei vorhergehenden Zeilen ** plus ** die aktuelle Zeile, um dies zu erreichen Sie setzen' queue.append (line) sollte '' vor if' und erhöhen 'maxlen' bis 3, oder fügen Sie einfach 'print (line)' nach 'print (list (queue))' hinzu. –
Ich denke, die Anpassung der Zahlen und Neuordnung der Logik ist eine nette Hausaufgabe;) – tamasgal