シェルに似た、単純な構文に対する字句解析器を簡単に書けるようにします。アプリケーションのための実行制御ファイルのような小規模言語を書く上で便利です。メンバの値を空文字列にします)。渡すと標準入力から分割する文字列を読み込みます。シェルエスケープして返します。戻り値は、リストを使えないようなケースで、シェルコマンドライン内で一つのトークンとして安全に利用出来る文字列です。モジュールは以下のクラスを定義します。引数が追加されました。ファイルに似た設定ファイルのパーザ。インスタンスは以下のメソッドを持っています:shlex.get_token()¶トークンを一つ返します。使ってスタックに積まれていた場合、トークンをスタックからポップします。ない場合、トークンを一つ入力ストリームから読み出します。shlex.push_token(str)¶トークンスタックに引数文字列をスタックします。トークンを読み出します。(通常これは便利なエントリポイントではありません。完全性のためにここで記述されています)。検出した際、このメソッドはその後に続くトークンを引数として渡され、ファイル名と開かれたファイル類似オブジェクトからなるタプルを返すとされています。通常、このメソッドはまず引数から何らかのクオートを取り除きます。ストリームであった場合、この結果はそのままにされます。これらの操作の結果はファイル名として扱われ、タプルの最初の要素として返されます。インスタンス初期化のときとは引数の並びが逆になっています!)このフックはディレクトリサーチパスや、ファイル拡張子の追加、その他の名前空間に関するハックを実装できるようにするために公開されています。メソッドを使ってください。入力ソースストリームを入力スタックにプッシュします。ファイル名引数が指定された場合、以後のエラーメッセージ中で利用することができます。メソッドが内部で使用しているのと同じメソッドです。最後にプッシュされた入力ソースを入力スタックからポップします。到達した際に利用するメソッドと同じです。(オプションの引数を使ってこれらを上書きすることもできます)。ツール群が解釈できる一般的な書式でのメッセージを生成することを推奨するために提供されています。インスタンス変数を持っています:shlex.commenters¶コメントの開始として認識される文字列です。コメントの開始から行末までのすべてのキャラクタ文字は無視されます。空白と見なされ、読み飛ばされる文字群です。空白はトークンの境界を作ります。shlex.escape¶エスケープ文字と見なされる文字群です。文字列引用符と見なされる文字群です。(すなわち、異なるクオート形式はシェル中で互いに保護し合う関係にあります)。単引用符および二重引用符が入っています。定義されたエスケープ文字を解釈する文字群です。現在の入力ファイル名です。クラスのインスタンス化時に初期設定されるか、その後のソースリクエストでスタックされます。エラーメッセージを構成する際にこの値を調べると便利なことがあります。インスタンスが文字を読み出している入力ストリームです。キーワードに似た、字句解析レベルでのインクルード要求として認識されます。到達するまで読み込まれます。呼び出され、入力は元の入力ストリームに戻されます。ソースリクエストは任意のレベルの深さまでスタックしてかまいません。インスタンスは動作に関する冗長な進捗報告を出力します。この出力を使いたいなら、モジュールのソースコードを読めば詳細を学ぶことができます。shlex.token¶トークンバッファです。例外を捕捉した際にこの値を調べると便利なことがあります。shlex.eof¶ファイルの終端を決定するのに使われるトークンです。以下の規則に従おうとします。して宣言されていない全ての文字を、単一の文字トークンとして返す。空白文字でのみ単語を区切る。以下の解析規則に従おうとします。含まれる文字を除き、全ての文字のリテラル値を保持する。エスケープ文字群は使用中の引用符、または、そのエスケープ文字自身が直後にある場合のみ、特殊な機能を保持する。他の場合にはエスケープ文字は普通の文字とみなされる。