"posix" --- Las llamadas más comunes al sistema POSIX
*****************************************************

======================================================================

Este módulo proporciona acceso a la funcionalidad del sistema
operativo que está estandarizada por el estándar C y el estándar POSIX
(una interfaz Unix finamente disfrazada).

**No importe este módulo directamente.** En su lugar, importe el
módulo "os", que proporciona una versión *portable* de esta interfaz.
En Unix, el módulo "os" proporciona un superconjunto de la interfaz
"posix".  En sistemas operativos que no son Unix, el módulo "posix" no
está disponible, pero un subconjunto siempre está disponible a través
de la interfaz "os".  Una vez que se importa "os", *no* hay
penalización de rendimiento en su uso en lugar de "posix".  Además,
"os" proporciona algunas funciones adicionales, como llamar
automáticamente a "putenv()" cuando se cambia una entrada en
"os.environ".

Los errores se notifican como excepciones; las excepciones habituales
se proporcionan para los errores de tipo, mientras que los errores
notificados por las llamadas del sistema lanzan "OSError".


Soporte de archivos grandes
===========================

Varios sistemas operativos (incluidos AIX, HP-UX, Irix y Solaris)
proporcionan compatibilidad con archivos de más de 2 GiB de un modelo
de programación C donde "int" y "long" son valores de 32 bits. Esto se
logra normalmente definiendo el tamaño relevante y los tipos de
desplazamiento como valores de 64 bits. Tales archivos se conocen a
veces como *large files*.

La compatibilidad con archivos grandes está habilitada en Python
cuando el tamaño de un "off_t" es mayor que un "long" y "long long" es
al menos tan grande como "off_t". Puede ser necesario configurar y
compilar Python con ciertos indicadores del compilador para habilitar
este modo. Por ejemplo, está habilitado de forma predeterminada con
las versiones recientes de Irix, pero con Solaris 2.6 y 2.7 debe hacer
algo como:

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

En sistemas Linux con capacidad para archivos grandes, esto podría
funcionar:

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


Contenido notable del módulo
============================

Además de muchas funciones descritas en la documentación del módulo
"os", "posix" define el siguiente elemento de datos:

posix.environ

   Diccionario que representa el entorno de cadena en el momento en
   que se inició el intérprete. Las claves y los valores son bytes en
   Unix y str en Windows. Por ejemplo, "environ[b'HOME']"
   ("environ['HOME']" en Windows) es el nombre de ruta de acceso de su
   directorio principal, equivalente a "getenv("HOME")" en C.

   La modificación de este diccionario no afecta al entorno de cadena
   que transmite "execv()", "popen()" o "system()"; si necesita
   cambiar el entorno, pase "environ" a "execve()" o agregue
   asignaciones variables y declaraciones de exportación a la cadena
   de comandos para "system()" o "popen()".

   Distinto en la versión 3.2: En Unix, las claves y los valores son
   bytes.

   Nota:

     El módulo "os" proporciona una implementación alternativa de
     "environ" que actualiza el entorno en la modificación. Tenga en
     cuenta también que la actualización "os.environ" hará que este
     diccionario sea obsoleto. El uso de la versión del módulo "os" de
     esto se recomienda sobre el acceso directo al módulo "posix".
