Чтение двоичного файла.dat как массива

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

WholeData = numpy.concatenate((Location,Data),axis=0)  
# Location & Data are two numpy arrays
DataBinary = open('DataBinary.dat','ab')
WholeData.tofile(DataBinary)
DataBinary.close()

Я пытаюсь прочитать весь двоичный файл в массив. У меня следующие трудности:

  1. Я попробовал следующий код:

    NewData = numpy.array('f')
    File1 = open('DataBinary.dat','rb')
    NewData.fromstring(File1.read())
    File1.close()
    

    Статус ошибки:

    Traceback (most recent call last): File "", line 1, in AttributeError: 'numpy.ndarray' object has no attribute 'fromstring'

  2. Я попытался использовать массив на основе массива, а затем прочитать файл в массив.

    from array import array
    File1 = open('DataBinary.dat','rb')
    NewData.fromstring(File1.read())
    File1.close()
    

Однако NewDataошибочно, т. е. не совпадает с WholeData. Я предполагаю, что сохранение данных как numpy.arrayи чтение их как array.arrayможет быть не очень хорошим вариантом.

Любое предложение будет оценено.

7
задан Fred Foo 3 August 2012 в 15:38
поделиться