Python Glossary English

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Сообщить о неточности