msvcrt
— Полезные подпрограммы из среды выполнения MS VC++¶
Данные функции предоставляют доступ к некоторым полезным возможностям на
платформах Windows. Некоторые модули более высокого уровня используют данные
функции для создания реализации своих служб в Windows. Например, модуль
getpass
использует его в реализации функции getpass()
.
Дополнительную документацию по этим функциям можно найти в документации API платформы.
Модуль реализует как обычный, так и расширенный char варианты консольного 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 из дескриптора файла handle. Параметр flags должен быть побитовым ИЛИ
os.O_APPEND
,os.O_RDONLY
иos.O_TEXT
. Возвращённый файловый дескриптор может использоваться как параметрos.fdopen()
для создания файлового объекта.Вызывает событие аудита
msvcrt.open_osfhandle
с аргументамиhandle
,flags
.
-
msvcrt.
get_osfhandle
(fd)¶ Возвращает дескриптор файла для файлового дескриптора fd. Вызывает
OSError
, если fd не распознан.Вызывает событие аудита
msvcrt.get_osfhandle
с аргументомfd
.
Консольный ввод/вывод¶
-
msvcrt.
kbhit
()¶ Возвращает
True
, если нажатие клавиши ожидает чтения.
-
msvcrt.
getch
()¶ Читает нажатие клавиши и возвращает полученный символ в виде строки байтов. На консоль ничего не выводится. Данный вызов будет заблокирован, если нажатие клавиши ещё не доступно, но не будет ждать нажатия Enter. Если нажатая клавиша была специальной функциональной клавишей, возвращается
'\000'
или'\xe0'
; следующий вызов вернёт код ключа. Данная функция не может прочитать нажатие клавиши Control-C.
-
msvcrt.
getche
()¶ Аналогична
getch()
, но нажатие клавиши будет отражено, если оно представляет печатный символ.
-
msvcrt.
putch
(char)¶ Выводит строку байтов char на консоль без буферизации.