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

Атрибут mode

Атрибут mode класса memmap возвращает строку, которая определяет режим доступа к файлу, используемый при создании объекта memory-mapped файла. Этот атрибут доступен только для чтения и позволяет определить, был ли файл открыт для чтения, записи или чтения-записи.

Синтаксис

memmap_object.mode

Атрибут возвращает одно из следующих значений:

  • 'r' - файл открыт только для чтения
  • 'r+' - файл открыт для чтения и записи
  • 'w+' - файл открыт для чтения и записи, с созданием нового файла
  • 'c' - файл открыт в режиме копирования при записи (copy-on-write)

Пример

Давайте создадим memory-mapped файл в режиме чтения-записи и проверим его атрибут mode:

import numpy as np # Create a sample array and save it to a file arr = np.array([1, 2, 3, 4, 5]) arr.tofile('data.npy') # Create memmap object in read-write mode mmap = np.memmap('data.npy', dtype=np.int64, mode='r+') print(mmap.mode)

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

"r+"

Пример

Рассмотрим различные режимы доступа и соответствующие им значения атрибута mode:

import numpy as np # Create a sample array arr = np.array([1, 2, 3, 4, 5]) arr.tofile('data.npy') # Read-only mode mmap_r = np.memmap('data.npy', dtype=np.int64, mode='r') print(f"Read-only mode: {mmap_r.mode}") # Read-write mode mmap_rw = np.memmap('data.npy', dtype=np.int64, mode='r+') print(f"Read-write mode: {mmap_rw.mode}") # Write-create mode mmap_w = np.memmap('data_new.npy', dtype=np.int64, mode='w+', shape=(5,)) print(f"Write-create mode: {mmap_w.mode}") # Copy-on-write mode mmap_c = np.memmap('data.npy', dtype=np.int64, mode='c') print(f"Copy-on-write mode: {mmap_c.mode}")

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

"Read-only mode: r" "Read-write mode: r+" "Write-create mode: w+" "Copy-on-write mode: c"

Пример

Атрибут mode может быть полезен для проверки прав доступа перед выполнением операций записи:

import numpy as np # Create a read-only memmap arr = np.array([10, 20, 30, 40, 50]) arr.tofile('readonly.npy') mmap = np.memmap('readonly.npy', dtype=np.int64, mode='r') # Check mode before attempting to modify if mmap.mode == 'r': print("File is read-only. Cannot modify data.") else: mmap[0] = 100 print(f"Mode: {mmap.mode}")

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

"File is read-only. Cannot modify data." "Mode: r"

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

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