Содержание страницы
msvcrt – полезные утилиты из MS VC++ runtime¶msvcrt – Useful routines from the MS VC++ runtime
Исходный код: PC/msvcrtmodule.c
Эти функции предоставляют доступ к некоторым полезным возможностям на платформах Windows.
Некоторые модули более высокого уровня используют эти функции для создания реализаций своих служб под Windows. Например, модуль getpass использует это при реализации функции getpass().
Дополнительную документацию по этим функциям можно найти в документации Platform API.
Модуль реализует как обычную, так и широкосимвольную версию консольного API ввода-вывода. Обычный API работает только с ASCII-символами и имеет ограниченное применение для интернационализированных приложений. Широкосимвольный API следует использовать везде, где это возможно.
Доступность: Windows.
Файловые операции¶File Operations
- msvcrt.locking(fd, mode, nbytes)¶
Блокирует часть файла на основе файлового дескриптора fd из C runtime. В случае ошибки вызывает
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 runtime из файлового хендла 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. Возбуждает
OSError, если fd не распознан.Вызывает событие аудита
msvcrt.get_osfhandleс аргументомfd.
Консольный ввод-вывод¶Console I/O
- msvcrt.kbhit()¶
Возвращает ненулевое значение, если ожидает чтения нажатие клавиши. В противном случае возвращает 0.
- msvcrt.getch()¶
Считывает нажатие клавиши и возвращает полученный символ в виде байтовой строки. Ничего не выводится в консоль. Этот вызов блокируется, если нажатие ещё не доступно, но не будет ждать нажатия Enter. Если нажатая клавиша была специальной функциональной клавишей, функция вернёт
'\000'или'\xe0'; следующий вызов вернёт код клавиши. Нажатие Control-C не может быть считано этой функцией.
- msvcrt.getche()¶
Аналогично
getch(), но нажатие клавиши будет выводиться на экран, если оно соответствует печатному символу.
- msvcrt.putch(char)¶
Выводит байтовую строку char на консоль без буферизации.
Другие функции¶Other Functions
- 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¶
Возвращает текущий режим для указанного типа.
- msvcrt.CRT_ASSEMBLY_VERSION¶
Версия сборки CRT из файла заголовка
crtassem.h.
- msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN¶
Токен открытого ключа сборки VC из файла заголовка
crtassem.h.
- msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX¶
Префикс имени сборки Libraries из файла заголовка
crtassem.h.