"posix" --- 最常見的 POSIX 系統呼叫
***********************************

======================================================================

該模組提供對由 C 標準和 POSIX 標準（一種偽裝的 Unix 介面）所標準化的作
業系統功能的存取。

Availability: Unix.

**不要直接引入此模組。**請改為引入 "os" 模組，它提供了此介面的*可移植
(portable)* 版本。在 Unix 上，"os" 模組提供了 "posix" 介面的超集
(superset)。在非 Unix 作業系統上，"posix" 模組不可用，但始終可以通過
"os" 介面使用一個子集。一旦 "os" 有被引入，使用它代替 "posix" *不會有*
性能損失。此外，"os" 提供了一些額外的功能，例如當 "os.environ" 中的條
目更改時自動呼叫 "putenv()"。

錯誤會以例外的形式被回報；常見的例外是因為型別錯誤而給出的，而系統呼叫
回報的錯誤會引發 "OSError"。


對大檔案 (Large File) 的支援
============================

一些作業系統（包括 AIX 和 Solaris）支援來自 C 程式模型且大於 2 GiB 的
檔案，其中 int 和 long 是 32-bit（32 位元）的值。這通常透過將相關大小
和偏移量 (offset) 種類定義為 64-bit 值來實作。此類檔案有時被稱為「大檔
案 (*large files*)」。

當 "off_t" 的大小大於 long 且 long long 的大小至少與 "off_t" 相同時，
對大檔案的支援會被啟用。可能需要使用某些編譯器旗標來配置和編譯 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 上是 str。例如，"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" 模組。
