posix — De vanligaste POSIX-systemanropen¶
Den här modulen ger tillgång till operativsystemets funktioner som standardiseras av C-standarden och POSIX-standarden (ett tunnt förklätt Unix-gränssnitt).
Tillgänglighet: Unix.
Importera inte den här modulen direkt, utan istället modulen os, som tillhandahåller en portabel version av det här gränssnittet. På Unix ger modulen os en överuppsättning av gränssnittet posix. På operativsystem som inte är Unix är modulen posix inte tillgänglig, men en delmängd är alltid tillgänglig via gränssnittet os. När os väl är importerad finns det ingen prestandaförlust med att använda den istället för posix. Dessutom ger os några ytterligare funktioner, som att automatiskt anropa putenv() när en post i os.environ ändras.
Fel rapporteras som undantag; de vanliga undantagen ges för typfel, medan fel som rapporteras av systemanropen ger upphov till OSError.
Stöd för stora filer¶
Flera operativsystem (bland annat AIX och Solaris) ger stöd för filer som är större än 2 GiB från en C-programmeringsmodell där int och long är 32-bitarsvärden. Detta åstadkoms vanligen genom att definiera de relevanta storleks- och offset-typerna som 64-bitarsvärden. Sådana filer kallas ibland large files.
Stöd för stora filer aktiveras i Python när storleken på en off_t är större än en long och long long är minst lika stor som en off_t. Det kan vara nödvändigt att konfigurera och kompilera Python med vissa kompilatorflaggor för att aktivera det här läget. Med Solaris 2.6 och 2.7 måste du till exempel göra något i stil med:
CFLAGS="`getconf LFS_CFLAGS`" OPT="-g -O2 $CFLAGS" \
./konfigurera
På Linux-system med stor filkapacitet kan detta fungera:
CFLAGS='-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' OPT="-g -O2 $CFLAGS" \
./konfigurera
Anmärkningsvärt modulinnehåll¶
Förutom de många funktioner som beskrivs i moduldokumentationen os, definierar posix följande dataelement:
- posix.environ¶
En ordbok som representerar strängmiljön vid den tidpunkt då tolken startades. Nycklar och värden är bytes på Unix och str på Windows. Till exempel är
environ[b'HOME'](environ['HOME']i Windows) sökvägen till din hemkatalog, motsvarandegetenv("HOME")i C.Om du ändrar den här ordlistan påverkar det inte den strängmiljö som skickas vidare av
execv(),popen()ellersystem(); om du behöver ändra miljön skickar duenvirontillexecve()eller lägger till variabeltilldelningar och exportsatser i kommandosträngen försystem()ellerpopen().Ändrad i version 3.2: På Unix är nycklar och värden bytes.
Anteckning
Modulen
ostillhandahåller en alternativ implementation avenvironsom uppdaterar miljön vid modifiering. Observera också att uppdatering avos.environkommer att göra denna ordbok föråldrad. Användning avos-modulens version av denna rekommenderas framför direkt åtkomst tillposix-modulen.