Python 3.8+Linuxosфункция
os.memfd_create
os — спец. дескрипторы
Создаёт анонимный файл в памяти и возвращает его дескриптор (Python 3.8+). Доступно на Linux.
Синтаксис
os.memfd_create(...)
Создаёт файл, который живёт только в памяти и исчезает, когда закрыты все дескрипторы; на диске его нет. Имя служит лишь для отладки и не обязано быть уникальным. Дескриптор можно передать другому процессу или использовать с mmap — удобно для обмена данными без временных файлов.
Примеры
import os
fd = os.memfd_create('buf') # → ? только Linux: дескриптор анонимного файла в памяти, например 3
print(os.write(fd, b'hello')) # → 5
print(os.pread(fd, 5, 0)) # → b'hello' — читаем с нулевого смещения, не двигая курсор
print(os.fstat(fd).st_size) # → 5 — ведёт себя как обычный файл, но живёт только в памяти
os.close(fd) # → ? только Linux: буфер освобождён; пути в файловой системе у memfd нет, на диске следов не остаётся
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности