Spec-Zone.ru › Python 3.12

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

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

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

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

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

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

Некоторые операционные системы (включая AIX и Solaris) поддерживают файлы размером более 2 ГиБ в модели программирования на 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–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/posix.html

Spec-Zone.ru

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