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 agetenv("HOME")
en C.La modificación de este diccionario no afecta al entorno de cadena que transmite
execv()
,popen()
osystem()
; si necesita cambiar el entorno, paseenviron
aexecve()
o agregue asignaciones variables y declaraciones de exportación a la cadena de comandos parasystem()
opopen()
.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 deenviron
que actualiza el entorno en la modificación. Tenga en cuenta también que la actualizaciónos.environ
hará que este diccionario sea obsoleto. El uso de la versión del móduloos
de esto se recomienda sobre el acceso directo al móduloposix
.