Как я могу прочитать из файла определенную строку на основе ввода пользователя - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть текстовый файл, в котором перечислены детали дисковода.Я хочу иметь возможность вводить строку (например, 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
...

Я хочу печатать только первый комплект.Надеюсь, это имеет смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...