Spec-Zone.ru › Python 3.9

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.9/library/msvcrt.html

Spec-Zone.ru

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