msvcrt — Полезные процедуры среды выполнения MS VC++
Эти функции предоставляют доступ к некоторым полезным возможностям платформ Windows. Некоторые модули более высокого уровня используют эти функции для создания реализаций своих служб для Windows. Например, модуль getpass использует эту возможность при реализации функции getpass().
Дополнительную документацию по этим функциям можно найти в документации Platform API.
Модуль реализует как обычный, так и широкосимвольный варианты API консольного ввода-вывода. Обычный API работает только с символами ASCII и имеет ограниченное применение в интернационализированных приложениях. По возможности следует использовать широкосимвольный API.
Операции с файлами
-
msvcrt.locking(fd, mode, nbytes) -
Блокирует часть файла, заданную файловым дескриптором fd из среды выполнения C. В случае сбоя вызывает исключение
OSError. Блокируемая область файла начинается с текущей позиции в файле, имеет длину nbytes байт и может выходить за конец файла. Параметр mode должен быть одной из перечисленных ниже константLK_*. Одновременно можно блокировать несколько областей файла, но они не должны перекрываться. Соседние области не объединяются; их необходимо разблокировать по отдельности.Вызывает событие аудита
msvcrt.lockingс аргументамиfd,mode,nbytes.
-
msvcrt.LK_LOCK -
msvcrt.LK_RLCK -
Блокирует указанные байты. Если байты не удаётся заблокировать, программа немедленно повторяет попытку через 1 секунду. Если после 10 попыток байты так и не удаётся заблокировать, вызывается исключение
OSError.
-
msvcrt.LK_NBLCK -
msvcrt.LK_NBRLCK -
Блокирует указанные байты. Если байты не удаётся заблокировать, вызывается исключение
OSError.
-
msvcrt.LK_UNLCK -
Разблокирует указанные байты, которые должны быть заблокированы ранее.
-
msvcrt.setmode(fd, flags) -
Задаёт режим преобразования окончаний строк для файлового дескриптора fd. Чтобы установить текстовый режим, параметр flags должен иметь значение
os.O_TEXT; для двоичного режима —os.O_BINARY.
-
msvcrt.open_osfhandle(handle, flags) -
Создаёт файловый дескриптор среды выполнения C из файлового дескриптора Windows handle. Параметр flags должен быть побитовым ИЛИ значений
os.O_APPEND,os.O_RDONLY,os.O_TEXTиos.O_NOINHERIT. Возвращённый файловый дескриптор можно использовать как параметр дляos.fdopen(), чтобы создать файловый объект.По умолчанию файловый дескриптор является наследуемым. Передайте флаг
os.O_NOINHERIT, чтобы сделать его ненаследуемым.Вызывает событие аудита
msvcrt.open_osfhandleс аргументамиhandle,flags.
-
msvcrt.get_osfhandle(fd) -
Возвращает дескриптор файла для файлового дескриптора fd. Если fd не распознан, вызывает исключение
OSError.Вызывает событие аудита
msvcrt.get_osfhandleс аргументомfd.
Консольный ввод-вывод
-
msvcrt.kbhit() -
Возвращает ненулевое значение, если ожидается нажатие клавиши для чтения. В противном случае возвращает 0.
-
msvcrt.getch() -
Считывает нажатие клавиши и возвращает соответствующий символ в виде байтовой строки. Символ не отображается в консоли. Этот вызов блокируется, если нажатие клавиши ещё не доступно, но не ждёт нажатия Enter. Если была нажата специальная функциональная клавиша, функция вернёт
'\000'или'\xe0'; следующий вызов вернёт код клавиши. Нажатие клавиш Control-C нельзя считать с помощью этой функции.
-
msvcrt.getwch() -
Широкосимвольный вариант
getch(), возвращающий значение Unicode.
-
msvcrt.getche() -
Похожа на
getch(), но нажатие клавиши отображается, если оно соответствует печатному символу.
-
msvcrt.getwche() -
Широкосимвольный вариант
getche(), возвращающий значение Unicode.
-
msvcrt.putch(char) -
Выводит байтовую строку char в консоль без буферизации.
-
msvcrt.putwch(unicode_char) -
Широкосимвольный вариант
putch(), принимающий значение Unicode.
-
msvcrt.ungetch(char) -
Помещает байтовую строку char обратно в буфер консоли; она станет следующим символом, считанным с помощью
getch()илиgetche().
-
msvcrt.ungetwch(unicode_char) -
Широкосимвольный вариант
ungetch(), принимающий значение Unicode.
Другие функции
-
msvcrt.heapmin() -
Принудительно очищает кучу
malloc()и возвращает неиспользуемые блоки операционной системе. В случае сбоя вызывает исключениеOSError.
-
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) -
Задаёт место или места назначения для отчёта указанного типа, формируемого
_CrtDbgReport()в среде выполнения MS VC++. Параметр 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 -
Возвращает текущее значение mode для указанного type.
-
msvcrt.CRT_ASSEMBLY_VERSION -
Версия сборки CRT из заголовочного файла
crtassem.h.
-
msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN -
Токен открытого ключа сборки VC из заголовочного файла
crtassem.h.
-
msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX -
Префикс имени сборки Libraries из заголовочного файла
crtassem.h.
© 2001–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/msvcrt.html