34.2. msvcrt --- MS VC++実行時システムの有用なルーチン群¶
このモジュールの関数は、 Windows プラットフォームの便利な機能のいくつかに対するアクセス機構を提供しています。高レベルモジュールのいくつかは、提供するサービスを Windows で実装するために、これらの関数を使っています。例えば、 getpass モジュールは関数 getpass() を実装するためにこのモジュールの関数を使います。
ここに挙げた関数の詳細なドキュメントについては、プラットフォーム API ドキュメントで見つけることができます。
このモジュールは、通常版とワイド文字列版の両方のコンソールI/O APIを実装しています。通常版の API は ASCII 文字列のためのもので、国際化アプリケーションでは利用が制限されます。可能な限りワイド文字列版APIを利用するべきです。
34.2.1. ファイル操作関連¶
- 
msvcrt.locking(fd, mode, nbytes)¶
- C 言語による実行時システムにおけるファイル記述子 fd に基づいて、ファイルの一部にロックをかけます。失敗すると - OSErrorが送出されます。ロックされるファイルの領域は、現在のファイル位置から nbytes バイトで、ファイルの末端まで延長することができます。 mode は以下に列挙する- LK_*のいずれか一つでなければなりません。一つのファイルの複数の領域を同時にロックすることは可能ですが、領域が重複してはなりません。連接する領域をまとめて指定することはできません; それらの領域は個別にロック解除しなければなりません。
- 
msvcrt.LK_LOCK¶
- 
msvcrt.LK_RLCK¶
- 指定されたバイト列にロックをかけます。指定領域がロックできなかった場合、プログラムは 1 秒後に再度ロックを試みます。10 回再試行した後でもロックをかけられない場合、 - OSErrorが送出されます。
- 
msvcrt.LK_UNLCK¶
- 指定されたバイト列のロックを解除します。指定領域はあらかじめロックされていなければなりません。 
- 
msvcrt.setmode(fd, flags)¶
- ファイル記述子 fd に対して、行末文字の変換モードを設定します。テキストモードに設定するには、 flags を - os.O_TEXTにします; バイナリモードにするには- os.O_BINARYにします。
- 
msvcrt.open_osfhandle(handle, flags)¶
- C 言語による実行時システムにおけるファイル記述子をファイルハンドル handle から生成します。 flags パラメタは - os.O_APPEND、- os.O_RDONLY、および- os.O_TEXTをビット単位で OR したものになります。返されるファイル記述子は- os.fdopen()でファイルオブジェクトを生成するために使うことができます。
34.2.2. コンソール I/O 関連¶
- 
msvcrt.kbhit()¶
- 読み出し待ちの打鍵イベントが存在する場合に真を返します。 
- 
msvcrt.getch()¶
- 打鍵を読み取り、読み出された文字を返します。コンソールには何もエコーバックされません。この関数呼び出しは読み出し可能な打鍵がない場合にはブロックしますが、文字を読み出せるようにするために Enter の打鍵を待つ必要はありません。打鍵されたキーが特殊機能キー (function key) である場合、この関数は - '\000'または- '\xe0'を返します; キーコードは次に関数を呼び出した際に返されます。この関数で Control-C の打鍵を読み出すことはできません。
- 
msvcrt.putch(char)¶
- バイト文字列 char をバッファリングを行わないでコンソールに出力します。 
