# `posix` — Les appels système POSIX les plus courants

Ce module permet d'accéder aux fonctionnalités du système d'exploitation normalisés par le Standard C et le Standard POSIX (une interface Unix habilement déguisée).

Availability: Unix.

Ne pas importer ce module directement. À la place, importer le module `os`, qui fournit une version portable de cette interface. Sous Unix, le module `os` fournit un sur-ensemble de l'interface `posix`. Sous les systèmes d'exploitation non Unix le module `posix` n'est pas disponible, mais un sous ensemble est toujours disponible via l'interface `os`. Une fois que `os` est importé, il n'y a aucune perte de performance à l'utiliser à la place de `posix`. De plus, `os` fournit des fonctionnalités supplémentaires, telles que l'appel automatique de `putenv()` lorsqu'une entrée dans `os.environ` est modifiée.

Les erreurs sont signalées comme des exceptions; les exceptions habituelles sont données pour les erreurs de type, tandis que les erreurs signalées par les appels système lèvent une erreur `OSError`.

## Prise en charge de gros fichiers

Several operating systems (including AIX and Solaris) provide support for files that are larger than 2 GiB from a C programming model where int and long are 32-bit values. This is typically accomplished by defining the relevant size and offset types as 64-bit values. Such files are sometimes referred to as large files.

Large file support is enabled in Python when the size of an `off_t` is larger than a long and the long long is at least as large as an `off_t`. It may be necessary to configure and compile Python with certain compiler flags to enable this mode. For example, with Solaris 2.6 and 2.7 you need to do something like:

    CFLAGS="`getconf LFS_CFLAGS`" OPT="-g -O2 $CFLAGS" \
            ./configure

Sur les systèmes Linux capable de supporter les fichiers volumineux, cela pourrait fonctionner :

    CFLAGS='-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' OPT="-g -O2 $CFLAGS" \
            ./configure

## Contenu du Module

En plus des nombreuses fonctions décrites dans la documentation du module `os`, `posix` possède les éléments suivants :

posix.environ

  Un dictionnaire représentant les variables d'environnement au moment où l'interpréteur à été lancé. Les clés et les valeurs sont des `bytes` sous Unix et des `str` sous Windows. Par exemple, `environ[b'HOME']` (`environ['HOME']` dans Windows) est le chemin de votre dossier d’accueil, équivalent à `getenv("HOME")` en C.

  Modifier ce dictionnaire n'affecte pas les variables d'environnements fournis par `execv()`, `popen()` ou `system()`; Si vous avez besoin de changer l'environnement, passer le paramètre `environ` à `execve()` ou ajouter les assignations de variables et les export à la commande à exécuter via `system()` ou `popen()`.

  Modifié dans la version 3.2: Sous Unix, les clés et les valeurs sont des octets.

  Note

  Le module `os` fournit une implémentation alternative à `environ` qui met à jour l'environnement en cas de modification. Notez également que la mise à jour de `os.environ` rendra ce dictionnaire obsolète. Il est recommandé d'utiliser le module `os` au lieu du module `posix` dans ce cas-ci.