Spec-Zone.ru › Python 3.13

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 и строки в Windows. Например, environ[b'HOME'] (environ['HOME'] в Windows) — это путь к вашей домашней директории, эквивалентный getenv("HOME") в C.

Изменение этого словаря не влияет на строковую среду, передаваемую execv(), popen() или system(); если вам нужно изменить среду, передайте environ в execve() или добавьте операторы присваивания переменных и export в строку команды для system() или popen().

Изменено в версии 3.2: В Unix, ключи и значения — это байты.

Примечание

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

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

Spec-Zone.ru

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