msvcrt
— Полезные подпрограммы из среды выполнения MS VC++¶
Эти функции предоставляют доступ к некоторым полезным возможностям на платформах Windows. Некоторые модули более высокого уровня используют эти функции для создания Windows-реализаций своих служб. Например, модуль getpass
использует их в реализации функции getpass()
.
Дополнительную документацию по этим функциям можно найти в документации Platform API.
Модуль реализует как обычный, так и широкосимвольный варианты консольного API ввода/вывода. Обычный API работает только с символами ASCII и имеет ограниченное применение в интернационализированных приложениях. API wide char следует использовать, когда это возможно.
Изменено в версии 3.3: Операции в этом модуле теперь поднимают OSError
там, где раньше поднимали IOError
.
Файловые операции¶
- msvcrt.locking(fd, mode, nbytes)¶
Блокировка части файла на основе файлового дескриптора fd из среды выполнения C. При неудаче поднимает
OSError
. Заблокированная область файла простирается от текущей позиции файла на nbytes байт и может продолжаться за пределы конца файла. mode должна быть одной из константLK_*
, перечисленных ниже. Несколько областей в файле могут быть заблокированы одновременно, но не могут перекрываться. Смежные регионы не объединяются; они должны быть разблокированы по отдельности.Поднимает auditing event
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 из файлового дескриптора handle. Параметр flags должен быть побитовым ИЛИ из
os.O_APPEND
,os.O_RDONLY
,os.O_TEXT
иos.O_NOINHERIT
. Возвращенный дескриптор файла может быть использован в качестве параметраos.fdopen()
для создания файлового объекта.Дескриптор файла наследуется по умолчанию. Передайте флаг
os.O_NOINHERIT
, чтобы сделать его ненаследуемым.Поднимает auditing event
msvcrt.open_osfhandle
с аргументамиhandle
,flags
.
- msvcrt.get_osfhandle(fd)¶
Возвращает файловый дескриптор fd. Возвращает
OSError
, если fd не распознан.Поднимает auditing event
msvcrt.get_osfhandle
с аргументомfd
.
Консольный ввод/вывод¶
- msvcrt.kbhit()¶
Возвращает ненулевое значение, если нажатие клавиши ожидает считывания. В противном случае возвращается 0.
- msvcrt.getch()¶
Считывает нажатие клавиши и возвращает полученный символ в виде байтовой строки. В консоль ничего не передается. Этот вызов блокируется, если нажатие клавиши еще не доступно, но не будет ждать нажатия Enter. Если нажатая клавиша была специальной функциональной клавишей, этот вызов вернет
'\000'
или'\xe0'
; следующий вызов вернет код клавиши. Нажатие клавиши Control-C не может быть считано с помощью этой функции.
- msvcrt.getche()¶
Аналогично
getch()
, но нажатие клавиши будет передано эхом, если оно представляет собой печатаемый символ.
- msvcrt.putch(char)¶
Выведите байтовую строку char на консоль без буферизации.
Другие функции¶
- msvcrt.heapmin()¶
Заставляет кучу
malloc()
очиститься и вернуть неиспользуемые блоки операционной системе. В случае неудачи это приводит к повышениюOSError
.
- msvcrt.set_error_mode(mode)¶
Изменяет место, куда среда выполнения C записывает сообщение об ошибке, которая может привести к завершению программы. mode должна быть одной из констант
OUT_*
, перечисленных ниже, илиREPORT_ERRMODE
. Возвращает старую настройку или -1, если произошла ошибка. Доступно только в debug build of Python.
- msvcrt.OUT_TO_DEFAULT¶
Поглотитель ошибок определяется типом приложения. Доступно только в debug build of Python.
- msvcrt.OUT_TO_STDERR¶
Поглотитель ошибок - это стандартная ошибка. Доступно только в debug build of Python.
- msvcrt.OUT_TO_MSGBOX¶
Поглотитель ошибок представляет собой окно сообщения. Доступно только в debug build of Python.
- msvcrt.REPORT_ERRMODE¶
Сообщение о текущем значении режима ошибки. Доступно только в режиме debug build of Python.
- msvcrt.CrtSetReportMode(type, mode)¶
Указывает пункт назначения или пункты назначения для определенного типа отчета, сгенерированного
_CrtDbgReport()
во время выполнения MS VC++. type должен быть одной из константCRT_*
, перечисленных ниже. mode должна быть одной из константCRTDBG_*
, перечисленных ниже. Доступно только в debug build of Python.
- msvcrt.CrtSetReportFile(type, file)¶
После использования
CrtSetReportMode()
для указанияCRTDBG_MODE_FILE
вы можете указать хэндл файла для получения текста сообщения. type должна быть одной из константCRT_*
, перечисленных ниже. file должен быть хэндлом файла, который вы хотите указать. Доступно только в debug build of 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 Assembly из заголовочного файла
crtassem.h
.
- msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN¶
Токен открытого ключа VC Assembly из заголовочного файла
crtassem.h
.
- msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX¶
Префикс имени сборки библиотек из заголовочного файла
crtassem.h
.