python13
Каким образом я могу Найдя нужный мне Host/Url обратиться к двум строкам ниже найденного host/url?
Тут велика вероятность ошибки. Если ты так сделаешь, как ты сделал, то рано или поздно это даст какую-нибудь ошибку, а исправить её будет очень сложно, так как нужно будет программу заново писать.
Поэтому это надо сделать правильно изначально.
Соответственно,
1)
Ты должен сгруппировать записи по идентификаторам из первого поля. Велика вероятность, что под сайтом будут идти имя и пароль от другого сайта, потому что идентификаторы у сайта и имени и пароля разные.
2)
Все эти текстовые данные должны быть сначала преобразованы во внутренние питоновские данные. То есть у тебя не должно быть ни регистра, ни табуляций, ни двоеточий, ни дефисов, когда ты уже выбираешь нужные данные.
Поэтому сначала нужно сгруппировать строки по идентификаторам. Потом надо сгруппированные строки преобразовать в словари. А затем уже нужно из словарей выбирать группы (ссылка, имя, пароль). Тогда это всё будет работать надёжно и без ошибок.
А если ты просто хочешь по-быстрому выбрать текст, то тебе надо читать по три строки и всё.
1. Читаешь три строки.
2. Проверяешь первую строку.
3. Если первая строка подходит, то берёшь из второй строки имя, а из третьей строки пароль. Если первая строка не подходит, то отбрасываешь остальные две строки и читаешь снова три строки из файла.
Пример чтения файла по три строки и срабатывание действий на какой-то определённой строке.
>>> with open('/etc/passwd', encoding='utf-8') as fin:
... while True:
... line1 = next(fin, '')
... line2 = next(fin, '')
... line3 = next(fin, '')
... if line1 == '':
... break
... if line1.startswith('adm'):
... print(line1, end='')
... print(line2[:line2.index(':')])
... print(line3[:line3.index(':')])
...
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp
sync
>>>