Атрибут filename
Атрибут filename класса memmap возвращает строку с путём к файлу,
который используется для отображения в память. Этот атрибут доступен только
для чтения и содержит точное значение параметра filename, переданное
при создании объекта memmap. Атрибут полезен для отслеживания связи
между массивом в памяти и файлом на диске.
Синтаксис
memmap.filename
Атрибут не принимает никаких параметров и возвращает строку с именем файла.
Пример
Создадим объект memmap из файла и получим его имя:
import numpy as np
# Create a memory-mapped array
arr = np.memmap('data.npy', dtype='float32', mode='w+', shape=(3, 3))
# Get the filename attribute
print(arr.filename)
Результат выполнения кода:
"data.npy"
Пример
Атрибут filename всегда возвращает строку, даже если файл был создан
с относительным путём. Рассмотрим пример с использованием абсолютного пути:
import numpy as np
import os
# Get absolute path
file_path = os.path.abspath('arr.txt')
# Create memory-mapped array
arr = np.memmap(file_path, dtype='int32', mode='w+', shape=(5,))
# Access the filename attribute
print(arr.filename)
Результат выполнения кода:
"/home/user/project/arr.txt"
Пример
Атрибут filename позволяет идентифицировать файл, даже если
объект memmap был создан давно. Это полезно при работе
с несколькими файлами:
import numpy as np
# Create two memory-mapped arrays
arr1 = np.memmap('first.npy', dtype='float64', mode='w+', shape=(10,))
arr2 = np.memmap('second.npy', dtype='float64', mode='w+', shape=(10,))
# Print filenames
print(arr1.filename)
print(arr2.filename)
# Check if both arrays reference the same file
print(arr1.filename == arr2.filename)
Результат выполнения кода:
"first.npy"
"second.npy"
False