numpy.fromfile
numpy.fromfile(file, dtype=float, count=-1, sep='')
Функция fromfile() создает массив из данных в текстовом или двоичном файле. Является очень эффективным методом чтения двоичных данных с известным типом данных, а так же чтения текстовых файлов с простым форматированием. Данные, написанные с использованием метода tofile
, так же могут быть прочитаны с использованием этой функции.
-
- file - файл или строка с именем файла
- Файл или файловый объект.
- dtype - тип данных NumPy (необязательный)
- Определяет тип данных выходного массива. Для двоичных файлов он используется что бы определить размер и порядок байтов элементов в файле.
- count - целое число (необязательный)
- Определяет количество считываемых элементов из файла. По умолчанию count=-1 что означает все элементы, т.е. весь файл целиком.
- sep - строка-разделитель
- Разделитель между элементами в текстовом файле. Если
sep = ''
указывает на то что файл следует рассматривать как двоичный.
-
- результат - массив NumPy
- Массив, созданный из данных, находящихся в текстовом или двоичном файле.
Замечание
При использовании двоичных файлов на разных платформах следует помнить, что хранение данных в двоичных файлах зависит от используемой платформы, и ко всему прочему информация о порядке байтов и типе данных в них не сохраняется. Данные удобно хранить в независимом от платформы формате .npy, с использованием функций save
и load
.
Примеры
>>> import numpy as np
>>>
>>> a = np.array([1,2,3], dtype = int)
>>>
>>> # Создание двоичного файла:
... a.tofile('file_name')
>>>
>>> # Создание массива из данных в двоичном файле:
... b = np.fromfile('a', dtype = int )
>>> b
array([1, 2, 3])
>>>
>>>
>>> # Создание текстового файла:
... np.savetxt('file_name', a, newline=',')
>>>
>>> # Создание массива из данных в текстовом файле:
... c = np.fromfile('file_name', sep = ',')
>>> c
array([ 1., 2., 3.])