Spec-Zone.ru › Python 3.8

msvcrt — Полезные функции из среды выполнения MS VC++

Эти функции предоставляют доступ к некоторым полезным возможностям в среде Windows. Некоторые модули более высокого уровня используют эти функции для построения реализаций своих служб в Windows. Например, модуль getpass использует их в реализации функции getpass().

Дополнительную документацию по этим функциям можно найти в документации к API платформы.

Модуль реализует как обычные, так и расширенные варианты 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.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API