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¶
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
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
.