posix — Die gebräuchlichsten POSIX-Systemaufrufe¶
Dieses Modul bietet Zugriff auf Betriebssystemfunktionen, die vom C-Standard und dem POSIX-Standard (eine dünn verhüllte Unix-Schnittstelle) standardisiert sind.
Verfügbarkeit: Unix.
Importieren Sie dieses Modul nicht direkt. Importieren Sie stattdessen das Modul os, das eine portable Version dieser Schnittstelle bereitstellt. Unter Unix stellt das Modul os eine Obermenge der posix-Schnittstelle dar. Auf Nicht-Unix-Betriebssystemen ist das Modul posix nicht verfügbar, aber eine Teilmenge ist immer über die os-Schnittstelle verfügbar. Sobald os importiert wurde, gibt es keine Leistungseinbußen, wenn Sie es anstelle von posix verwenden. Zusätzlich bietet os einige zusätzliche Funktionalitäten, wie z. B. das automatische Aufrufen von putenv(), wenn ein Eintrag in os.environ geändert wird.
Fehler werden als Ausnahmen gemeldet; die üblichen Ausnahmen werden für Typfehler angegeben, während vom System aufgerufene Fehler OSError auslösen.
Unterstützung für große Dateien¶
Mehrere Betriebssysteme (einschließlich AIX und Solaris) unterstützen Dateien, die größer als 2 GiB sind, in einem C-Programmiermodell, bei dem int und long 32-Bit-Werte sind. Dies wird typischerweise durch die Definition der relevanten Größen- und Offset-Typen als 64-Bit-Werte erreicht. Solche Dateien werden manchmal als große Dateien bezeichnet.
Die Unterstützung für große Dateien ist in Python aktiviert, wenn die Größe eines off_t größer als ein long ist und long long mindestens so groß ist wie ein off_t. Möglicherweise müssen Sie Python mit bestimmten Compiler-Flags konfigurieren und kompilieren, um diesen Modus zu aktivieren. Zum Beispiel müssen Sie unter Solaris 2.6 und 2.7 so etwas tun
CFLAGS="`getconf LFS_CFLAGS`" OPT="-g -O2 $CFLAGS" \
./configure
Auf Linux-Systemen, die große Dateien unterstützen, könnte dies funktionieren
CFLAGS='-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' OPT="-g -O2 $CFLAGS" \
./configure
Bemerkenswerte Modulinhalte¶
Zusätzlich zu vielen Funktionen, die in der Dokumentation des Moduls os beschrieben sind, definiert posix das folgende Datenelement
- posix.environ¶
Ein Wörterbuch, das die Zeichenumgebung zum Zeitpunkt des Starts des Interpreters darstellt. Schlüssel und Werte sind Bytes unter Unix und str unter Windows. Zum Beispiel ist
environ[b'HOME'](environ['HOME']unter Windows) der Pfad zu Ihrem Home-Verzeichnis, äquivalent zugetenv("HOME")in C.Das Ändern dieses Wörterbuchs hat keine Auswirkungen auf die Zeichenumgebung, die von
execv(),popen()odersystem()übergeben wird; wenn Sie die Umgebung ändern müssen, übergeben Sieenvironanexecve()oder fügen Sie Variablendefinitionen und Exportanweisungen zur Befehlszeichenkette fürsystem()oderpopen()hinzu.Geändert in Version 3.2: Unter Unix sind Schlüssel und Werte Bytes.
Hinweis
Das Modul
osbietet eine alternative Implementierung vonenviron, die die Umgebung bei Änderungen aktualisiert. Beachten Sie auch, dass die Aktualisierung vonos.environdiesen Wörterbuch obsolet macht. Die Verwendung der Version dieses Moduls vonoswird gegenüber dem direkten Zugriff auf das Modulposixempfohlen.