умный способ чтения нескольких переменных из текстового файла в python

Я пытаюсь загрузить несколько векторов и матриц (для numpy), которые хранятся в одном текстовом файле. Файл выглядит следующим образом:

%VectorA 1 2 3 4 %MatrixA 1 2 3 4 5 6 %VectorB 3 4 5 6 7 

Идеальным решением было бы иметь объект словаря, например:

 {'VectorB': [3, 4, 5, 6, 7], 'VectorA': [1, 2, 3, 4], 'MatrixA':[[1, 2, 3],[4, 5, 6]]} 

Порядок переменных можно считать фиксированным. Таким образом, список массивов numpy в порядке появления в текстовом файле также будет в порядке.

  • Тип подсказки в Eclipse с PyDev
  • Получение всех предметов менее месяца
  • Установка подушки, получение -Wunused-command-line-argument-hard-error-in-future
  • Google API: получение учетных данных из токена обновления с помощью oauth2client.client
  • Алгоритм (решение проблемы), обеспечивающий максимальную скорость выполнения
  • Многопроцессорность Python и общий счетчик
  • Фактическая разница в реализации / переопределении с помощью @abstractproperty и @abstractmethod
  • Проблема с морским садом в возвышенном
  • One Solution collect form web for “умный способ чтения нескольких переменных из текстового файла в python”

     from StringIO import StringIO mytext='''%VectorA 1 2 3 4 %MatrixA 1 2 3 4 5 6 %VectorB 3 4 5 6 7''' myfile=StringIO(mytext) mydict={} for x in myfile.readlines(): if x.startswith('%'): mydict.setdefault(x.strip('%').strip(),[]) lastkey=x.strip('%').strip() else: mydict[lastkey].append([int(x1) for x1 in x.split(' ')]) А from StringIO import StringIO mytext='''%VectorA 1 2 3 4 %MatrixA 1 2 3 4 5 6 %VectorB 3 4 5 6 7''' myfile=StringIO(mytext) mydict={} for x in myfile.readlines(): if x.startswith('%'): mydict.setdefault(x.strip('%').strip(),[]) lastkey=x.strip('%').strip() else: mydict[lastkey].append([int(x1) for x1 in x.split(' ')]) 

    выше дает mydict как:

     {'MatrixA': [[1, 2, 3], [4, 5, 6]], 'VectorA': [[1, 2, 3, 4]], 'VectorB': [[3, 4, 5, 6, 7]]} 
    Python - лучший язык программирования в мире.