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()или добавьте присваивания переменным и инструкции экспорта в командную строку дляsystem()илиpopen().Изменено в версии 3.2: В Unix ключи и значения имеют тип bytes.
Примечание
Модуль
osпредоставляет альтернативную реализациюenviron, которая обновляет окружение при изменении. Также обратите внимание, что обновлениеos.environсделает этот словарь устаревшим. Рекомендуется использовать версию этого объекта из модуляosвместо прямого доступа к модулюposix.
© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/posix.html