このモジュールはオペレーティングシステムの機能のうち、C 言語標準および POSIX 標準 (Unix インタフェースをほんの少し隠蔽した) で標準化されている機能に対するアクセス機構を提供します。
このモジュールを直接 import しないで下さい。 その代わりに、移植性のあるインタフェースを提供している os をインポートしてください。 Unixでは、 os モジュールが提供するインタフェースは posix の内容を内包しています。非 Unix オペレーティングシステムでは posix モジュールを使うことはできませんが、その部分的な機能セットは、たいてい os インタフェースを介して利用することができます。 os は、一度 import してしまえば posix の代わりであることによるパフォーマンス上のペナルティは 全くありません 。その上、 os は os.environ の内容が変更された際に自動的に putenv() を呼ぶなど、いくつかの追加機能を提供しています。
エラーは例外として報告されます; よくある例外は型エラーです。一方、システムコールから報告されたエラーは以下に述べるように OSError を送出します。
いくつかのオペレーティングシステム (AIX, HP-UX, Irix および Solaris が含まれます) は、 int および long を 32 ビット値とするC プログラムモデルで 2GB を超えるサイズのファイルのサポートを提供しています。このサポートは典型的には 64 ビット値のオフセット値と、そこからの相対サイズを定義することで実現しています。このようなファイルは時にラージファイル (large files) と呼ばれます。
Python では、 off_t のサイズが long より大きく、かつ long long 型を利用することができて、少なくとも off_t 型と同じくらい大きなサイズである場合、ラージファイルのサポートが有効になります。この場合、ファイルのサイズ、オフセットおよび Python の通常整数型の範囲を超えるような値の表現には Python の長整数型が使われます。例えば、ラージファイルのサポートは Irix の最近のバージョンでは標準で有効ですが、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 では以下のデータ項目を定義しています:
インタプリタが起動した時点の環境変数文字列を表現する辞書です。例えば、 environ['HOME'] はホームディレクトリのパス名で、C 言語の getenv("HOME") と等価です。
この辞書を変更しても、 execv() 、 popen() または system() などに渡される環境変数文字列には影響しません; そうした環境を変更するする必要がある場合、 environ を execve() に渡すか、 system() または popen() の命令文字列に変数の代入や export 文を追加してください。