posix
— 最常見的 POSIX 系統呼叫¶
此模組提供對 C 標準和 POSIX 標準(一個經過輕微偽裝的 Unix 介面)標準化的作業系統功能的訪問。
可用性:Unix。
不要直接匯入此模組。 而是匯入模組 os
,它提供此介面的可移植版本。在 Unix 上,os
模組提供了 posix
介面的超集。在非 Unix 作業系統上,posix
模組不可用,但始終可以透過 os
介面獲得子集。一旦匯入 os
,使用它代替 posix
就沒有效能損失。此外,os
提供了一些額外的功能,例如在 os.environ
中的條目發生更改時自動呼叫 putenv()
。
錯誤以異常形式報告;通常的異常是型別錯誤,而系統呼叫報告的錯誤會引發 OSError
。
大檔案支援¶
多個作業系統(包括 AIX 和 Solaris)提供了對大於 2 GiB 的檔案的支援,其 C 程式設計模型中 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
模組。