os.open ()

os.open ( path, flags, mode=0o777, *, dir_fd=None )

Открывает путь path к файлу и устанавливает различные флаги в соответствии с flags и, возможно, его режим в соответствии с mode. Когда mode вычисляется, текущее значение umask сначала маскируется. Возвращает файловый дескриптор для вновь открытого файла. Новый дескриптор файла не наследуется.

Описание значений flags и mode см. в документации среды выполнения C; константы флагов (например, O_RDONLY и O_WRONLY) определены в модуле os. В частности, в Windows добавление O_BINARY необходимо для открытия файлов в двоичном режиме.

Эта функция может поддерживать пути относительно дескрипторов каталогов с параметром dir_fd.

Вызывает событие аудита, открытое с аргументами path, mode, flags.

Изменено в версии 3.4: новый дескриптор файла теперь не наследуется.

Эта функция предназначена для ввода/вывода низкого уровня. Для нормального использования используйте встроенную функцию open (), которая возвращает объект файла с помощью методов read () и write () (и многих других). Чтобы обернуть файловый дескриптор в файловый объект, используйте fdopen ().

Новое в версии 3.3: аргумент dir_fd.

Изменено в версии 3.5: если системный вызов прерывается и обработчик сигнала не вызывает исключения, функция теперь повторяет системный вызов вместо того, чтобы вызывать исключение InterruptedError (объяснение см. в PEP 475).

Изменено в версии 3.6: Принимает объект, подобный пути (path-like object ).

Следующие константы являются опциями для параметра flags функции open (). Их можно объединить с помощью побитового оператора ИЛИ |. Некоторые из них доступны не на всех платформах. За описанием их доступности и использования обратитесь к странице руководства open (2) в Unix или в MSDN в Windows.

Эти константы доступны в Unix и Windows:

  • os.O_RDONLY - открыть файл только для чтения

  • os.O_WRONLY - открыть файл только для записи

  • os.O_RDWR - открыть файл для чтения и записи

  • os.O_APPEND - открыть файл в режиме добавления

  • os.O_CREAT - создает файл и открывает его для записи

  • os.O_EXCL - разрешает создание файла, только если он не существует

  • os.O_TRUNC - открывает файл и обрезает его до нулевой длины

Константы, доступные только в Unix:

  • os.O_DSYNC

  • os.O_RSYNC

  • os.O_SYNC

  • os.O_NDELAY - по возможности открывает файл в неблокирующем режиме (синоним)

  • os.O_NONBLOCK - по возможности открывает файл в неблокирующем режиме (синоним)

  • os.O_NOCTTY - процесс не станет управляющим терминалом процесса (даже если терминальное устройство tty присутствует в команде)

  • os.O_CLOEXEC - включает флаг закрытия при запуске нового дескриптора файла

Изменено в версии 3.3: Добавлена константа O_CLOEXEC.

Константы, доступные только в Windows:

  • os.O_BINARY - открывает файл в двоичном режиме

  • os.O_NOINHERIT - предотвращает создание общего файлового дескриптора

  • os.O_SHORT_LIVED - создает файл как временный и по возможности не сбрасывает на диск

  • os.O_TEMPORARY - создает файл как временный, файл удаляется при закрытии дескриптора

  • os.O_RANDOM - кеширование оптимизировано для произвольного доступа с диска

  • os.O_SEQUENTIAL - кеширование оптимизировано для последовательного доступа с диска

  • os.O_TEXT - открывает файл в текстовом режиме

Эти константы являются расширениями и отсутствуют, если они не определены библиотекой C:

  • os.O_ASYNC

  • os.O_DIRECT

  • os.O_DIRECTORY

  • os.O_NOFOLLOW

  • os.O_NOATIME

  • os.O_PATH

  • os.O_TMPFILE

  • os.O_SHLOCK

  • os.O_EXLOCK

Изменено в версии 3.4: Добавлен O_PATH в системах, которые его поддерживают. Добавлен O_TMPFILE, доступный только в Linux Kernel 3.11 или новее.

Last updated