Spec-Zone.ru › Python 3.13

posix — Наиболее распространённые системные вызовы POSIX

Этот модуль предоставляет доступ к функциям операционной системы, стандартизированным стандартом C и стандартом POSIX (слегка завуалированным интерфейсом Unix).

Доступность: Unix.

Не импортируйте этот модуль напрямую. Вместо этого импортируйте модуль os, предоставляющий переносимую версию этого интерфейса. В Unix модуль os предоставляет надмножество интерфейса posix. В операционных системах, отличных от Unix, модуль posix недоступен, но его подмножество всегда доступно через интерфейс os. После импорта os использование этого модуля вместо posix не приводит к снижению производительности. Кроме того, os предоставляет некоторые дополнительные возможности, например автоматически вызывает putenv() при изменении записи в os.environ.

Ошибки сообщаются в виде исключений: при ошибках типов возбуждаются стандартные исключения, а ошибки, о которых сообщают системные вызовы, вызывают OSError.

Поддержка больших файлов

Некоторые операционные системы (включая AIX и Solaris) поддерживают файлы размером более 2 GiB в модели программирования на C, где int и long — 32-разрядные значения. Обычно это достигается определением соответствующих типов размера и смещения как 64-разрядных значений. Такие файлы иногда называют большими файлами.

Поддержка больших файлов включена в Python, если размер off_t превышает размер long, а размер long long не меньше размера off_t. Для включения этого режима может потребоваться настроить и скомпилировать Python с определёнными флагами компилятора. Например, для Solaris 2.6 и 2.7 нужно сделать примерно следующее:

CFLAGS="`getconf LFS_CFLAGS`" OPT="-g -O2 $CFLAGS" \
        ./configure

В Linux-системах с поддержкой больших файлов может сработать такой вариант:

CFLAGS='-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' OPT="-g -O2 $CFLAGS" \
        ./configure

Примечательные элементы модуля

Помимо множества функций, описанных в документации модуля os, модуль posix определяет следующий элемент данных:

posix.environ

Словарь, представляющий строковое окружение на момент запуска интерпретатора. В Unix ключи и значения имеют тип bytes, а в Windows — тип str. Например, environ[b'HOME'] (environ['HOME'] в Windows) — это путь к домашнему каталогу, эквивалентный getenv("HOME") в C.

Изменение этого словаря не влияет на строковое окружение, передаваемое функциями execv(), popen() или system(); если нужно изменить окружение, передайте environ в execve() или добавьте присваивания переменных и инструкции export в строку команды для system() или popen().

Изменено в версии 3.2: В Unix ключи и значения имеют тип bytes.

Примечание

Модуль os предоставляет альтернативную реализацию environ, которая обновляет окружение при изменении. Обратите также внимание, что обновление os.environ сделает этот словарь устаревшим. Рекомендуется использовать вариант из модуля os, а не обращаться напрямую к модулю posix.

© 2001–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/posix.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API