msvcrt — MS VC++ 런타임의 유용한 루틴

Source code: PC/msvcrtmodule.c


이 함수들은 윈도우 플랫폼에서 유용한 기능에 대한 액세스를 제공합니다. 일부 고수준 모듈은 이러한 함수를 사용하여 해당 서비스의 윈도우 구현을 구축합니다. 예를 들어, getpass 모듈은 getpass() 함수를 구현할 때 이를 사용합니다.

이 함수에 대한 자세한 설명은 플랫폼 API 설명서에서 찾을 수 있습니다.

이 모듈은 콘솔 I/O api의 일반과 광폭(wide) 문자 변형을 모두 구현합니다. 일반 API는 ASCII 문자만 다루며 국제화된 응용 프로그램에서는 제한적으로 사용됩니다. 가능하면 광폭 문자 API를 사용해야 합니다.

가용성: Windows.

버전 3.3에서 변경: 이 모듈의 연산은 이제 IOError를 발생시키던 곳에서 OSError를 발생시킵니다.

파일 연산

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_NBLCK
msvcrt.LK_NBRLCK

지정된 바이트를 잠급니다. 바이트를 잠글 수 없으면, OSError가 발생합니다.

msvcrt.LK_UNLCK

이전에 잠겨 있어야 하는 지정된 바이트의 잠금을 해제합니다.

msvcrt.setmode(fd, flags)

파일 기술자 fd의 줄 종료 변환 모드를 설정합니다. 텍스트 모드로 설정하려면, flagsos.O_TEXT 여야 합니다; 바이너리는, os.O_BINARY 여야 합니다.

msvcrt.open_osfhandle(handle, flags)

파일 핸들 handle에서 C 런타임 파일 기술자를 만듭니다. flags 매개 변수는 os.O_APPEND, os.O_RDONLY, os.O_TEXTos.O_NOINHERIT의 비트별 OR 여야 합니다. 반환된 파일 기술자는 os.fdopen()에 대한 매개 변수로 사용되어 파일 객체를 만들 수 있습니다.

The file descriptor is inheritable by default. Pass os.O_NOINHERIT flag to make it non inheritable.

인자 handle, flags감사 이벤트 msvcrt.open_osfhandle을 발생시킵니다.

msvcrt.get_osfhandle(fd)

파일 기술자 fd의 파일 핸들을 돌려줍니다. fd가 인식되지 않으면 OSError를 발생시킵니다.

인자 fd감사 이벤트 msvcrt.get_osfhandle을 발생시킵니다.

콘솔 I/O

msvcrt.kbhit()

읽을 수 있는 키 누르기가 대기 중이면 0이 아닌 값을 반환합니다. 그렇지 않으면, 0을 반환합니다.

msvcrt.getch()

키 누르기를 읽고 결과 문자를 바이트열로 반환합니다. 콘솔에 아무것도 에코 되지 않습니다. 이 호출은 키 누르기를 아직 사용할 수 없으면 블록하지만, Enter가 눌러지기를 기다리지는 않습니다. 누른 키가 특수 기능 키면, '\000' 이나 '\xe0'를 반환합니다; 다음 호출은 키코드를 반환합니다. 이 함수로 Control-C 키 누르기를 읽을 수 없습니다.

msvcrt.getwch()

유니코드 값을 반환하는 getch()의 광폭 문자 변형.

msvcrt.getche()

getch()와 비슷하지만, 인쇄 가능한 문자를 나타내는 경우 키 누르기가 에코 됩니다.

msvcrt.getwche()

유니코드 값을 반환하는 getche()의 광폭 문자 변형.

msvcrt.putch(char)

Print the byte string char to the console without buffering. Raises OSError on failure, for example when the process has no console attached.

버전 3.16.0a0 (unreleased)에서 변경: Failures are now reported by raising OSError instead of being silently ignored.

msvcrt.putwch(unicode_char)

유니코드 값을 받아들이는 putch()의 광폭 문자 변형.

버전 3.16.0a0 (unreleased)에서 변경: Failures are now reported by raising OSError instead of being silently ignored.

msvcrt.ungetch(char)

바이트열 char이 콘솔 버퍼로 “푸시백” 되도록 합니다; getch()getche()가 읽는 다음 문자가 됩니다.

msvcrt.ungetwch(unicode_char)

유니코드 값을 받아들이는 ungetch()의 광폭 문자 변형.

기타 함수

msvcrt.heapmin()

강제로 malloc() 힙이 자신을 정리하고, 사용하지 않는 블록을 운영 체제로 반환하도록 합니다. 실패하면, OSError가 발생합니다.

msvcrt.set_error_mode(mode)

Changes the location where the C runtime writes an error message for an error that might end the program. mode must be one of the OUT_* constants listed below or REPORT_ERRMODE. Returns the old setting or -1 if an error occurs. Only available in debug build of Python.

msvcrt.OUT_TO_DEFAULT

Error sink is determined by the app’s type. Only available in debug build of Python.

msvcrt.OUT_TO_STDERR

Error sink is a standard error. Only available in debug build of Python.

msvcrt.OUT_TO_MSGBOX

Error sink is a message box. Only available in debug build of Python.

msvcrt.REPORT_ERRMODE

Report the current error mode value. Only available in debug build of Python.

msvcrt.CrtSetReportMode(type, mode)

Specifies the destination or destinations for a specific report type generated by _CrtDbgReport() in the MS VC++ runtime. type must be one of the CRT_* constants listed below. mode must be one of the CRTDBG_* constants listed below. Only available in debug build of Python.

msvcrt.CrtSetReportFile(type, file)

After you use CrtSetReportMode() to specify CRTDBG_MODE_FILE, you can specify the file handle to receive the message text. type must be one of the CRT_* constants listed below. file should be the file handle your want specified. Only available in debug build of Python.

msvcrt.CRT_WARN

Warnings, messages, and information that doesn’t need immediate attention.

msvcrt.CRT_ERROR

Errors, unrecoverable problems, and issues that require immediate attention.

msvcrt.CRT_ASSERT

Assertion failures.

msvcrt.CRTDBG_MODE_DEBUG

Writes the message to the debugger’s output window.

msvcrt.CRTDBG_MODE_FILE

Writes the message to a user-supplied file handle. CrtSetReportFile() should be called to define the specific file or stream to use as the destination.

msvcrt.CRTDBG_MODE_WNDW

Creates a message box to display the message along with the Abort, Retry, and Ignore buttons.

msvcrt.CRTDBG_REPORT_MODE

Returns current mode for the specified type.

msvcrt.CRT_ASSEMBLY_VERSION

The CRT Assembly version, from the crtassem.h header file.

msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN

The VC Assembly public key token, from the crtassem.h header file.

msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX

The Libraries Assembly name prefix, from the crtassem.h header file.