Как преобразовать текст из файла в словарь? В каждой строчке текста есть символ "|". То что перед ним должно быть ключом, после - значением

В файле содержится текст:

Foundation|Asimov, Isaac

Foundation and Empire|Asimov, Isaac

Second Foundation|Asimov, Isaac

Нужно привести это к виду:

{'Foundation': 'Asimov, Isaac', 'Foundation and Empire': 'Asimov, Isaac', 'Second Foundation': 'Asimov, Isaac'}

Пробовал так:

with open(f'{filename}', 'r') as s:
        data = s.read()
        for i in data:
            if '|' in i:
                result = dict(enumerate(data.split()))
                return result

но получается только:

{0: 'Foundation|Asimov, Isaac', 1: 'Foundation and Empire|Asimov, Isaac', 2: 'Second Foundation|Asimov, Isaac', 3: 'Dune|Herbert, Frank'}

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

Автор решения: Эникейщик
result = {}    
with open(f'{filename}', 'r') as s:
    data = s.readlines() # читаем содержание файла в список
    for line in data:
        elements = line.split("|") # делим строку по "|" на части и сохраняем в список
        result[elements[0]] = elements[1] # добавляем в словарь
→ Ссылка
Автор решения: SergFSM

конструктор dict() вы использовали немного не так, попробуйте примерно вот так:

with open(f'{filename}', 'r') as s:
    data = s.read().split('\n')

result = dict((i.split('|')) for i in data)

для data = ['Foundation|Asimov, Isaac', 'Foundation and Empire|Asimov, Isaac', 'Second Foundation|Asimov, Isaac'] получаем результат:

{'Foundation': 'Asimov, Isaac',
 'Foundation and Empire': 'Asimov, Isaac',
 'Second Foundation': 'Asimov, Isaac'}
→ Ссылка