msvcrt — Полезные функции из среды выполнения MS VC++
Эти функции предоставляют доступ к некоторым полезным возможностям в среде Windows. Некоторые модули более высокого уровня используют эти функции для построения реализаций своих служб в Windows. Например, модуль getpass использует их в реализации функции getpass().
Дополнительную документацию по этим функциям можно найти в документации к API платформы.
Модуль реализует как обычные, так и расширенные варианты API ввода-вывода консоли. Обычный API работает только с ASCII-символами и имеет ограниченное применение для международных приложений. API с расширенными символами следует использовать всегда, когда это возможно.
Операции с файлами
-
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.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.
© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.8/library/msvcrt.html