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 的檔案,其中 int 和 long 是 32 位值。這通常透過將相關的尺寸和偏移量型別定義為 64 位值來實現。此類檔案有時被稱為大檔案。
當 off_t
的大小大於 long 且 long 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
模組。