Мне не удалось найти решение для моей конкретной проблемы, поэтому я создаю новый вопрос.Как найти строку в файле и вывести ее из 3 строк выше и 25 строк ниже?У меня пока что ниже, но я могу напечатать только 25 ниже соответствия.
with open("driveDetails.txt", "r") as f:
searchlines = f.readlines()
for i, line in enumerate(searchlines):
if "Failed" in line:
for l in searchlines[i:i+25]: print l,
print
break
Ниже приведен пример содержимого файла.Мне нужно найти «Failed», а затем распечатать из 3 строк (ID: 0: 1: 6), а затем + 25. Я не перечислил все строки для каждой записи, поэтому я просто поставил ...
ID : 0:1:1
Status : Non-Critical
Name : Physical Disk 0:1:6
State : Online
Power Status : Spun Up
Bus Protocol : SAS
Media : HDD
Part of Cache Pool : Not Applicable
Remaining Rated Write Endurance : Not Applicable
Failure Predicted : Yes
Revision : ES66
Driver Version : Not Applicable
Model Number : Not Applicable
T10 PI Capable : No
Certified : Yes
Encryption Capable : No
Encrypted : Not Applicable
Progress : Not Applicable
Product ID : HDSG02032923
Serial No. : 7DK30358
...
ID : 0:1:6
Status : Non-Critical
Name : Physical Disk 0:1:6
State : Failed
Power Status : Spun Up
Bus Protocol : SAS
Media : HDD
Part of Cache Pool : Not Applicable
Remaining Rated Write Endurance : Not Applicable
Failure Predicted : Yes
Revision : ES66
Driver Version : Not Applicable
Model Number : Not Applicable
T10 PI Capable : No
Certified : Yes
Encryption Capable : No
Encrypted : Not Applicable
Progress : Not Applicable
Product ID : HDSG09393329
Serial No. : 7DK3035B
...