posix — Наиболее распространённые системные вызовы POSIX
Этот модуль предоставляет доступ к функциональности операционной системы, стандартизированной в C Standard и POSIX-стандарте (тонко замаскированный интерфейс Unix).
Не импортируйте этот модуль напрямую. Вместо этого импортируйте модуль os, который предоставляет переносимую версию этого интерфейса. В Unix модуль os предоставляет расширенный набор функций по сравнению с интерфейсом posix. В операционных системах, не являющихся Unix-подобными, модуль posix недоступен, но его подмножество всегда доступно через интерфейс os. После импорта os, использование его вместо posix не сказывается на производительности. Кроме того, os предоставляет дополнительную функциональность, такую как автоматическое вызов putenv() при изменении записи в os.environ.
Ошибки сообщаются как исключения; обычные исключения используются для ошибок типов, а ошибки, сообщаемые системными вызовами, генерируют OSError.
1. Поддержка больших файлов
Несколько операционных систем (включая AIX, HP-UX, Irix и Solaris) обеспечивают поддержку файлов, размер которых превышает 2 ГБ, в модели программирования на C, где int и long являются 32-разрядными значениями. Это обычно достигается путём определения соответствующих типов размера и смещения как 64-разрядных значений. Такие файлы иногда называют большими файлами.
Поддержка больших файлов в Python включена, когда размер off_t превышает long, и тип long long доступен и не меньше off_t. Тогда Python longs используются для представления размеров файлов, смещений и других значений, которые могут превышать диапазон Python int. Возможно, потребуется настроить и скомпилировать Python с определёнными флагами компилятора, чтобы включить этот режим. Например, он включён по умолчанию в последних версиях Irix, но для 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
2. Важные компоненты модуля
В дополнение к многим функциям, описанным в документации модуля os, модуль posix определяет следующие данные:
-
posix.environ -
Словарь, представляющий строковую среду во время запуска интерпретатора. Например,
environ['HOME']— это путь к вашему домашнему каталогу, эквивалентныйgetenv("HOME")в C.Изменение этого словаря не влияет на строковую среду, передаваемую
execv(),popen()илиsystem(); если вам нужно изменить среду, передайтеenvironвexecve()или добавьте присваивания переменных и операторы export в строку команды дляsystem()илиpopen().
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/posix.html