13 distutils.util -- その他のユーティリティ関数

このモジュールは他のユーティリティモジュールにあわないものを提供しています。

get_platform( )
現在のプラットフォームを示す文字列を返します。 これはプラットフォーム依存のビルドディレクトリやプラットフォーム依存の 配布物を区別するために使われます。 典型的には、('os.uname()'のように)OSの名前とバージョン、アーキテクチャ を含みますが、厳密にはOSに依存します。たとえば IRIXではアーキテクチャ はそれほど重要ではありません(IRIXはSGIのハードウェアだけで動作する)が、 Linuxではカーネルのバージョンはそれほど重要ではありません。

返り値の例:

POSIX でないプラットフォームでは、今のところ単にsys.platform が返されます。

convert_path( pathname)
'pathname' をファイルシステムで利用できる名前にして返します。 すなわち、'/'で分割し、現在のディレクトリセパレータで接続しなおします。 セットアップスクリプト中のファイル名はUnixスタイルで提供され、実 際に利用する前に変換する必要があるため、この関数が必要になります。 もし pathname の最初または最後が スラッシュの場合、Unix的でな いシステムではValueErrorが起きます。

change_root( new_root, pathname)
pathnameの前にnew_rootを追加したものを返します。 もしpathnameが相対パスなら、 "os.path.join(new_root,pathname)"と等価です。そうでなければ、 pathnameを相対パスに変換したあと接続します。これはDOS/Windows ではトリッキーな作業になります。

check_environ( )
'os.environ'に、ユーザがconfigファイル、コマンドラインオプションなどで 利用できることを保証している環境変数があることを確認します。 現在は以下のものが含まれています:

subst_vars( s, local_vars)
shell/Perlスタイルの変数置換をsについて行います。 全ての$に名前が続いたものは変数とみなされ、辞書local_varsで みつかった値に置換されます。local_varsで見つからなかった場合には os.environで置換されます。 os.environは最初にある値を含んでいることをチェックされます: check_environ()を参照。 local_vars or os.environのどちらにも値が見つからなかった 場合、ValueErrorを起こします。

これは完全な文字列挿入関数ではないことに注意してください。 $variableの名前には大小英字、数字、アンダーバーだけを含むこと ができます。 { } や を使った引用形式は利用できません。

grok_environment_error( exc[, prefix=tex2html_deferred"'error: '"])
例外オブジェクト EnvironmentError (IOError ま たは OSError) から、エラーメッセージを生成します。 Python 1.5.1 またはそれ以降の形式を扱い、ファイル名を含んでいない例外 オブジェクトも扱います。このような状況はエラーが2つのファイルに関係す る操作、たとえばrename()link()で発生します。 prefixをプレフィクスに持つエラーメッセージを返します。

split_quoted( s)
文字列をUnixのシェルのようなルール(引用符やバックスラッシュの扱い)で分 割します。つまり、バックスラッシュでエスケープされるか、引用符で囲まれ ていなければ各語はスペースで区切られます。一重引用符と二重引用符は同じ 意味です。引用符もバックスラッシュでエスケープできます。 2文字でのエスケープシーケンスに使われているバックスラッシュは削除され、 エスケープされていた文字だけが残ります。引用符は文字列から削除されます。 語のリストが返ります。

execute( func, args[, msg=None, verbose=0, dry_run=0])
外部に影響するいくつかのアクション(たとえば、ファイルシステムへの書き 込み)を実行します。そのようなアクションはdry_runフラグで無効にす る必要があるので特別です。この関数はその繁雑な処理を行います。 関数と引数のタプル、(実行する「アクション」をはっきりさせるための)表示 に使われる任意のメッセージを渡してください。

strtobool( val)
真偽値をあらわす文字列を真(1)または偽(0)に変換します。

真の値は y, yes, t, true, on そして 1です。偽の値は n, no, f, false, off そして 0です。 valが上のどれでもない時は ValueErrorを起こします。

byte_compile( py_files[, optimize=0, force=0, prefix=None, base_dir=None, verbose=1, dry_run=0, direct=None])
Pythonソースファイル群をバイトコンパイルして.pycまたは .pyoファイルを同じディレクトリに作成します。py_filesはコ ンパイルされるファイルのリストです。.pyでおわっていないファイル はスキップされます。optimizeは以下のどれかです:

もしforceが真なら、全てのファイルがタイムスタンプに関係なく再コ ンパイルされます。

バイトコードファイルにエンコードされるソースファイル名は、デフォルトでは py_filesが使われます。これをprefixbase_dirで変更す ることができます。 prefixはそれぞれのソースファイル名から削除される文字列で、 base_dirは(prefixを削除したあと)先頭に追加されるディレクト リ名です。 任意にprefixbase_dirのどちらか、両方を与える(与えない)こ とができます。

もしdry_runが真なら、ファイルシステムに影響することは何もされません。

バイトコンパイルは現在のインタプリタプロセスによって標準の py_compileモジュールを使って直接行われるか、テンポラリスクリ プトを書いて間接的に行われます。 通常はbyte_compile()に直接かそうでないかをまかせます (詳細についてはソースをごらんください)。 directフラグは関節モードで作成されたスクリプトで使用されます。 何をやっているか理解していない時はNoneのままにしておいてください。

rfc822_escape( header)
RFC 822ヘッダに含められるよう加工したheaderを返します。 改行のあとには8つのスペースが追加されます。この関数は文字列に他の変更 はしません。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。