Python вывод строки с точным совпадением

Вы не могли бы мне подсказать , как я могу сохранить в переменную, нужную строчку из файла содержащую только нужное мне слово

Условно говоря есть такой код:

import random
import re

str(input(""))
sub_string = 'AAA'

file = open(r'C:\Users\W\Desktop\python\1.txt', 'r')

lines = file.readlines()

for line in lines:
    if sub_string in line:
        print(line)

file.close()

где file содержит список:

ABC:AAA11
CAB:AAA22
BGG1:AAA
BGG2:AAA
BGG3:AAA
BGG4:AAA

в sub_string содержится то, что будет введено в input

далее в переменную сохранить строчку из файла, только содержащую целое слово, в данном примере 'AAA'. Если в файле содержится несколько строк содержащих AAA,то пусть выводится рандомное из всех подходящих.

исходя из списка в файла, в переменную должно быть выведено одно из:

BGG1:AAA
BGG2:AAA
BGG3:AAA
BGG4:AAA

Ответы (1 шт):

Автор решения: Stanislav Volodarskiy

Все строки соберите в список из которого выберите случайную строку. Из всех строк надо удалить концы (strip), разбить из по двоеточиям, последний фрагмент сравнить с искомым:

search = 'AAA'

found = [line for line in file if search == line.strip().split(':')[-1]]
print(found)
if found:
    print(random.choice(found))
→ Ссылка