У меня есть текстовый файл, в котором перечислены детали дисковода.Я хочу иметь возможность вводить строку (например, 0: 1: 7) и выводить все строки под ней (до 25 строк) на экран (или в другой файл).
Проблема в том, что в файле есть 2 строки, содержащие 0: 1: 7 (одна строка содержит только 0: 1: 7, та, которую я хочу, а другая строка содержит «Физический диск 0:1: 7 "), поэтому он печатает все дважды.Как я могу печатать ТОЛЬКО на основе первого?Игнорирование «Физического диска 0: 1: 7»?
with open("driveDetails.txt", "r") as f:
searchlines = f.readlines()
slot = raw_input("What is the slot position? (e.g. 0:1:0) ")
for i, line in enumerate(searchlines):
if slot in line:
for l in searchlines[i:i+25]: print l,
print
Это печатает строку, содержащую 0: 1: 7 + 25 строк, и это также печатает ее снова на основе строки, содержащей «Физический диск 0:1: 7 "+25 строк.
ID : 0:1:7
Status : Ok
Name : Physical Disk 0:1:7
State : Online
Power Status : Spun Up
...
Name : Physical Disk 0:1:7
State : Online
Power Status : Spun Up
...
Я хочу печатать только первый комплект.Надеюсь, это имеет смысл.