Как записать файл в двумерный список

Я немогу правильно записать файл в список.

Файле информация вот в таком вид:

     Текст
     Текст
     Текст
     @ (Условный разделитель)
     Текст
     Текст
     Текст
     @

Нужно перевести файл в список в вид:

     alfa = [[текст, текст, текст], [текст, текст, тескст]]

Я могу записать файл в нужный вид:

 а = [['текст', 'текст', 
 'Текст']]
 b=0 X=0
 with open('KM.txt', 'w+') as f:
   for i in a:
      for j in a[b]:
         b+=1
         f.writelines(f"{j}\n")
      f.writelines('@')]
      f.writelines("\n")
 f.close 

После записи содержимого вложенного списка, программа ставит разделитель, и переходит к следующему списку.

Я пытался записать файл в двумерный список вот так:

 f = open ('KN.txt')
 y=0 
 q=0
 with open ('KM.txt') as fe:
  for delta, line in enumerate(fe):
    pass
 fe.close
 l = []
 a =[]
 for i in range(delta+1):
    a.append(1)
    line = f.readline() 
    line = line.rstrip('\n')
    if line == '@':
        q +=1
        a.append(l)
        continue
    else:
        a[q].append(line)
 Print(a)

Выводит задвоенный список:

  a = [[текст, текст, текст, текст, текст, текст], [текст, текст, текст, текст, текст, тескст]]

Я не понимаю что не так


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

Автор решения: MBo

Ваш текст не готов к выполнению и плохо читается

b = []
with open ('D:\\Prog\\KM.txt') as fe:
   a = []
   for line in fe:
        ln = line.strip()
        if ln == '@':
            if a:
                 b.append(a)
            a =[]
        else:
            a.append(ln)
print(b)
→ Ссылка