posix — Наиболее распространенные системные вызовы POSIX¶
Этот модуль предоставляет доступ к функциональности операционной системы, стандартизованной стандартом C и стандартом POSIX (тонко замаскированный интерфейс Unix).
Не импортируйте этот модуль напрямую. Вместо этого импортируйте модуль os, который предоставляет портативную версию этого интерфейса. В операционной системе Unix модуль os предоставляет супермножество интерфейса posix. В операционных системах, отличных от Unix, модуль posix недоступен, но его подмножество всегда доступно через интерфейс os. После импорта os не существует никакого ущерба производительности при использовании его вместо posix. Кроме того, os предоставляет некоторые дополнительные функциональные возможности, такие как автоматический вызов putenv() при изменении записи в os.environ.
Об ошибках сообщается в виде исключений; обычные исключения выдаются для ошибок типа, а ошибки, сообщаемые системными вызовами, вызывают ошибку OSError.
Поддержка больших файлов¶
Некоторые операционные системы (включая AIX и Solaris) обеспечивают поддержку файлов размером более 2 Гигабайт из модели программирования C, где int и long являются 32-битными значениями. Обычно это достигается путем определения соответствующих типов размера и смещения как 64-битных значений. Такие файлы иногда называют large files.
Поддержка больших файлов включается в 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
Содержание модуля¶
Поддержка больших файлов включается в Python, когда размер :c:mod:`os` больше, чем :c:mod:`posix`, а размер :c по крайней мере такой же, как :c . Для включения этого режима может потребоваться настройка и компиляция Python с определенными флагами компилятора. Например, в Solaris 2.6 и 2.7 вам нужно сделать что-то вроде:
-
posix.environ¶ Словарь, представляющий строковое окружение на момент запуска интерпретатора. Ключи и значения - байты в Unix и str в Windows. Например,
environ[b'HOME'](environ['HOME']в Windows) - это имя пути вашего домашнего каталога, эквивалентноеgetenv("HOME")в C.Изменение этого словаря не влияет на строковое окружение, передаваемое
execv(),popen()илиsystem(); если вам нужно изменить окружение, передайтеenvironвexecve()или добавьте назначения переменных и операторы экспорта в командную строку дляsystem()илиpopen().Изменено в версии 3.2: В Unix ключи и значения - это байты.
Примечание
Модуль
osпредоставляет альтернативную реализациюenviron, которая обновляет среду при модификации. Обратите внимание, что обновлениеos.environприведет к тому, что этот словарь устареет. Рекомендуется использовать версию модуляos, а не прямой доступ к модулюposix.