posix — 最常見的 POSIX 系統呼叫


此模組提供對作業系統功能的訪問,這些功能由 C 標準和 POSIX 標準(一個偽裝的 Unix 介面)標準化。

可用性: Unix。

不要直接匯入此模組。 相反,請匯入模組 os,它提供了此介面的可移植版本。在 Unix 上,os 模組提供了 posix 介面的超集。在非 Unix 作業系統上,posix 模組不可用,但其子集始終可透過 os 介面獲得。一旦匯入 os,使用它代替 posix 不會有效能損失。此外,os 提供了額外的功能,例如當 os.environ 中的條目被更改時,會自動呼叫 putenv()

錯誤以異常形式報告;對於型別錯誤會丟擲通常的異常,而系統呼叫報告的錯誤會引發 OSError

大檔案支援

一些作業系統(包括 AIX 和 Solaris)在 C 程式設計模型中支援大於 2 GiB 的檔案,其中 intlong 是 32 位值。這通常透過將相關的尺寸和偏移量型別定義為 64 位值來實現。此類檔案有時被稱為大檔案

off_t 的大小大於 longlong long 至少與 off_t 一樣大時,Python 中會啟用大檔案支援。可能需要使用某些編譯器標誌配置和編譯 Python 以啟用此模式。例如,對於 Solaris 2.6 和 2.7,您需要執行類似以下操作

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

在支援大檔案的 Linux 系統上,這可能會奏效

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

模組顯著內容

除了 os 模組文件中描述的許多函式之外,posix 還定義了以下資料項

posix.environ

一個字典,表示直譯器啟動時的字串環境。在 Unix 上,鍵和值是位元組串,在 Windows 上是字串。例如,environ[b'HOME'](在 Windows 上是 environ['HOME'])是您的主目錄的路徑名,等同於 C 中的 getenv("HOME")

修改此字典不會影響由 execv()popen()system() 傳遞的字串環境;如果您需要更改環境,請將 environ 傳遞給 execve(),或者為 system()popen() 的命令字串新增變數賦值和匯出語句。

版本 3.2 中已更改: 在 Unix 上,鍵和值是位元組串。

備註

os 模組提供了 environ 的替代實現,該實現會在修改時更新環境。另請注意,更新 os.environ 將使此字典過時。建議使用 os 模組版本而不是直接訪問 posix 模組。