Как работать с файлами отображения памяти (numpy.memmap) в PyFilesystem?
Могу ли я использовать PyFilesystem с файлами, отображаемыми в памяти? Пример кода ниже выдает io.UnsupportedOperation: fileno
что связано с тем, что PyFilesystem выбрасывает неподдерживаемое исключение для fileno
операция над объектом IO Stream.
import numpy as np
import fs.memoryfs as fs
memfs = fs.MemoryFS()
with memfs.open('/test.dat', 'wb+') as file:
np.memmap(file, dtype=np.int, mode='r+', shape=(1,))
2 ответа
Решение
Только обычные системные файлы могут быть отображены в памяти. Таким образом, вы ограничены OSFS и TempFS.
Похоже, отображение памяти на MemoryFS
это слишком абстрактно. Это прекрасно работает, используя TempFS
который записывает в системный временный каталог на носителе ОС.