8.8 組み込みモジュール termios
このモジュールは、端末の I/O を制御するための POSIX コールのインターフェースを
提供します。これらのコールの詳しい説明は、POSIX または Unix のマニュアル
ページを参照してください。このモジュールは、POSIX termios スタイルの
端末 I/O 制御をサポートしている Unix バージョン(インストール時にコンフィギュア
されていなければなりません)でのみ使用可能です。
このモジュールの全ての関数は、最初の引数としてファイル記述子 fd を
必要とします。これは、sys.stdin.fileno() により返される整数の
ファイル記述子でなければなりません。
このモジュールは、関連したシンボリック定数が定義されている TERMIOS
モジュール(次節を参照してください)と
組み合わせて使用します。
このモジュールには、以下の関数が定義されています。
- tcgetattr (fd)
-
ファイル記述子 fd の指す端末属性を含んだリストを返します。リストは
次のもので構成されます:[iflag, oflag, cflag,
lflag, ispeed, ospeed, cc]。ここで
cc は、端末の特種文字のリストです。(各文字列の長さは1です。ただし、
例外として TERMIOS.VMIN と TERMIOS.VTIME をインデックスと
するアイテムが定義されている場合は整数です。)
フラグやスピードの値を cc 配列の中から取り出す時も、TERMIOS
モジュールに定義されているシンボリック定数をインデックスとして使用してください。
- tcsetattr (fd, when, attributes)
-
ファイル記述子 fd の指す端末の属性を、attributes
(tcgetattr()により返されるリストと同様のもの)に従って設定します。
引数 when により、いつ属性を変更するかを指定します。
属性を直ちに変更する場合は TERMIOS.TCSANOW を、全ての未転送の出力が
転送された後に変更する場合は TERMIOS.TCSADRAIN を、全ての未転送の
出力が転送された後、未処理の入力を破棄する場合は TERMIOS.TCSAFLUSH
を指定します。
- tcsendbreak (fd, duration)
-
ファイル記述子 fd に、ゼロ値ビットの連続ストリーム(ブレイク)を
転送します。duration がゼロの場合は、0.25〜0.5秒間ブレイクを転送します。
duration がゼロではない場合のブレイクの転送時間は、システムに依存します。
- tcdrain (fd)
-
ファイル記述子 fd に書き込まれた出力が、全て転送されるまで待ちます。
- tcflush (fd, queue)
-
ファイル記述子 fd に対する未転送のデータを破棄します。queue
セレクターにより、処理の対象とするキューを指定します。処理の対象が入力キューの
場合はTERMIOS.TCIFLUSHを、出力キューの場合は TERMIOS.TCOFLUSH
を、また両方のキューの場合は TERMIOS.TCIOFLUSH を指定します。
- tcflow (fd, action)
-
ファイル記述子 fd に対する入出力を、中断または再開します。引数
action には、出力を中断する TERMIOS.TCOOFF、出力を再開する
TERMIOS.TCOON、入力を中断する TERMIOS.TCIOFF、および
入力を再開する TERMIOS.TCION を指定することができます。
guido@python.org