Spec-Zone.ru › Python 2.7

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().

Примечание

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

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

Spec-Zone.ru

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