Spec-Zone.ru › Python 3.13

msvcrt — Полезные процедуры среды выполнения MS VC++

Эти функции предоставляют доступ к некоторым полезным возможностям платформ Windows. Некоторые модули более высокого уровня используют эти функции для создания реализаций своих служб для Windows. Например, модуль getpass использует эту возможность при реализации функции getpass().

Дополнительную документацию по этим функциям можно найти в документации Platform API.

Модуль реализует как обычный, так и широкосимвольный варианты API консольного ввода-вывода. Обычный API работает только с символами ASCII и имеет ограниченное применение в интернационализированных приложениях. По возможности следует использовать широкосимвольный API.

Изменено в версии 3.3: Операции в этом модуле теперь вызывают исключение OSError вместо IOError.

Операции с файлами

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API