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 на консоль без буферизации.