msvcrt --- MS VC++ ランタイムの有用なルーチン群¶
ソースコード: PC/msvcrtmodule.c
このモジュールの関数は、 Windows プラットフォームの便利な機能のいくつかに対するアクセス機構を提供しています。高レベルモジュールのいくつかは、提供するサービスを Windows で実装するために、これらの関数を使っています。例えば、 getpass モジュールは関数 getpass() を実装するためにこのモジュールの関数を使います。
ここに挙げた関数の詳細なドキュメントについては、プラットフォーム API ドキュメントで見つけることができます。
このモジュールは、通常版とワイド文字列版の両方のコンソールI/O APIを実装しています。通常版の API は ASCII 文字列のためのもので、国際化アプリケーションでは利用が制限されます。可能な限りワイド文字列版APIを利用するべきです。
利用可能な環境: Windows.
ファイル操作関連¶
- msvcrt.locking(fd, mode, nbytes)¶
C ランタイムのファイル記述子 fd に基づいて、ファイルの一部をロックします。 失敗すると
OSErrorを送出します。 ロックする範囲は現在のファイル位置から nbytes バイトで、ファイルの末尾を越えることもできます。 mode は、以下に示すLK_*定数のいずれかでなければなりません。 ファイル内の複数の領域を同時にロックできますが、重複はできません。 隣接する領域は結合されず、それぞれ個別にロックを解除する必要があります。引数
fd,mode,nbytesを指定して 監査イベントmsvcrt.lockingを送出します。
- 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)¶
ファイルハンドル handle から C ランタイムのファイル記述子を作成します。 flags 引数には
os.O_APPEND、os.O_RDONLY、os.O_TEXT、os.O_NOINHERITをビット単位 OR で組み合わせて指定します。 返されたファイル記述子をos.fdopen()の引数として渡すと、ファイルオブジェクトを作成できます。ファイル記述子はデフォルトで継承可能です。 継承不可にするには
os.O_NOINHERITフラグを渡してください。引数
handle,flagsを指定して 監査イベントmsvcrt.open_osfhandleを送出します。
コンソール I/O 関連¶
- msvcrt.kbhit()¶
読み取り待ちのキー入力があればゼロ以外の値を返し、それ以外は 0 を返します。
- msvcrt.getch()¶
キー入力を読み取り、対応する文字をバイト文字列として返します。 コンソールにはエコーしません。 キー入力がまだなければブロックしますが、Enter が押されるのを待つことはありません。 特殊なファンクションキーが押された場合は
'\000'または'\xe0'を返し、次の呼び出しでキーコードを返します。 Control-C のキー入力はこの関数では読み取れません。
- msvcrt.putch(char)¶
バイト文字列 char をバッファリングを行わないでコンソールに出力します。
その他の関数¶
- msvcrt.set_error_mode(mode)¶
プログラムの終了につながる可能性のあるエラーについて、C ランタイムがエラーメッセージを書き出す先を変更します。 mode は、以下の
OUT_*定数のいずれか、またはREPORT_ERRMODEでなければなりません。 以前の設定を返し、エラーが発生した場合は -1 を返します。 Python のデバッグビルド でのみ利用できます。
- msvcrt.OUT_TO_DEFAULT¶
エラーの出力先をアプリの種類に応じて決定します。 Python のデバッグビルド でのみ利用できます。
- msvcrt.OUT_TO_STDERR¶
エラーの出力先を標準エラー出力にします。 Python のデバッグビルド でのみ利用できます。
- msvcrt.OUT_TO_MSGBOX¶
エラーの出力先をメッセージボックスにします。 Python のデバッグビルド でのみ利用できます。
- msvcrt.REPORT_ERRMODE¶
現在のエラーモードの値を報告します。 Python のデバッグビルド でのみ利用できます。
- msvcrt.CrtSetReportMode(type, mode)¶
MS VC++ ランタイムの
_CrtDbgReport()が生成する特定のレポート種別について、1 つ以上の出力先を指定します。 type は、以下のCRT_*定数のいずれかでなければなりません。 mode は、以下のCRTDBG_*定数のいずれかでなければなりません。 Python のデバッグビルド でのみ利用できます。
- msvcrt.CrtSetReportFile(type, file)¶
CrtSetReportMode()でCRTDBG_MODE_FILEを指定した後、メッセージテキストの出力先のファイルハンドルを指定できます。 type は、以下のCRT_*定数のいずれかでなければなりません。 file には出力先とするファイルハンドルを指定してください。 Python のデバッグビルド でのみ利用できます。
- msvcrt.CRT_WARN¶
直ちに対処する必要のない警告、メッセージ、情報。
- msvcrt.CRT_ERROR¶
直ちに対処する必要のあるエラー、回復不能な問題、その他の問題。
- msvcrt.CRT_ASSERT¶
アサーションの失敗。
- msvcrt.CRTDBG_MODE_DEBUG¶
メッセージをデバッガの出力ウィンドウに書き込みます。
- msvcrt.CRTDBG_MODE_FILE¶
ユーザが指定したファイルハンドルにメッセージを書き込みます。 出力先の具体的なファイルやストリームを定めるため、
CrtSetReportFile()を呼び出す必要があります。
- msvcrt.CRTDBG_MODE_WNDW¶
Abort、Retry、Ignoreボタンとともにメッセージを表示するメッセージボックスを作成します。
- msvcrt.CRTDBG_REPORT_MODE¶
指定した type の現在の mode を返します。
- msvcrt.CRT_ASSEMBLY_VERSION¶
crtassem.hヘッダファイルにある CRT アセンブリのバージョン。
- msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN¶
crtassem.hヘッダファイルにある VC アセンブリの公開キートークン。
- msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX¶
crtassem.hヘッダファイルにある Libraries アセンブリ名の接頭辞。