РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
534 of 541 menu

Атрибут offset

Атрибут offset класса memmap возвращает смещение в байтах от начала файла до начала отображаемых данных. Это значение задаётся при создании объекта memmap через параметр offset и не может быть изменено после создания объекта.

Синтаксис

memmap_object.offset

Пример

Создадим массив, сохраним его в файл и откроем с помощью memmap со смещением:

import numpy as np # Создаём массив и сохраняем в файл arr = np.array([1, 2, 3, 4, 5]) arr.tofile('data.npy') # Открываем файл со смещением 16 байт mmap_arr = np.memmap('data.npy', dtype=np.int64, mode='r', offset=16) # Выводим смещение print(mmap_arr.offset)

Результат выполнения кода:

16

Пример

Создадим два объекта memmap с разными смещениями для одного файла:

import numpy as np # Создаём массив из 10 элементов и сохраняем arr = np.arange(10) arr.tofile('data.bin') # Создаём два memmap с разными смещениями mmap1 = np.memmap('data.bin', dtype=np.int64, mode='r', offset=0) mmap2 = np.memmap('data.bin', dtype=np.int64, mode='r', offset=16) print(mmap1.offset) print(mmap2.offset)

Результат выполнения кода:

0 16

Пример

Используем атрибут offset для проверки, с какого места в файле начинаются данные:

import numpy as np # Создаём файл с заголовком и данными header = b'HEADER' data = np.array([10, 20, 30, 40], dtype=np.int32) with open('data_with_header.bin', 'wb') as f: f.write(header) data.tofile(f) # Открываем файл, пропуская заголовок mmap_arr = np.memmap('data_with_header.bin', dtype=np.int32, mode='r', offset=6) print(f"Data starts at offset: {mmap_arr.offset}") print(f"Data array: {mmap_arr}")

Результат выполнения кода:

"Data starts at offset: 6" "Data array: [10 20 30 40]"

Смотрите также

  • атрибут filename,
    который возвращает имя файла, связанного с объектом memmap
  • атрибут mode,
    который возвращает режим доступа к файлу
  • метод flush,
    который записывает изменения в файл
  • класс memmap,
    который создаёт отображение файла в память
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить