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.fdopen()для создания объекта файла.Вызывает auditing event
msvcrt.open_osfhandleс аргументамиhandle,flags.
-
msvcrt.get_osfhandle(fd)¶ Возвращает дескриптор файла для дескриптора файла fd. Вызывает
OSError, если fd не распознан.Вызывает auditing event
msvcrt.get_osfhandleс аргументомfd.
Консольный ввод/вывод¶
-
msvcrt.kbhit()¶ Возвращает
True, если нажатие клавиши ожидает считывания.
-
msvcrt.getch()¶ Считывает нажатие клавиши и возвращает полученный символ в виде строки байтов. В консоль ничего не передается. Этот вызов блокируется, если нажатие клавиши еще не доступно, но не будет ждать нажатия Enter. Если нажатая клавиша была специальной функциональной клавишей, этот вызов вернет
'\000'или'\xe0'; следующий вызов вернет код клавиши. Нажатие клавиши Control-C не может быть считано с помощью этой функции.
-
msvcrt.getche()¶ Аналогично
getch(), но нажатие клавиши будет отражено эхом, если оно представляет собой печатаемый символ.
-
msvcrt.putch(char)¶ Печать байтовой строки char на консоль без буферизации.