Spec-Zone.ru › Python 3.10

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. При ошибке распознавания fd генерирует OSError.

Вызывает событие аудита аудита msvcrt.get_osfhandle с аргументом fd.

Ввод-вывод консоли

msvcrt.kbhit()

Возвращает True , если нажатие клавиши ожидает чтения.

msvcrt.getch()

Прочитать нажатие клавиши и вернуть полученный символ как строку байтов. Ничего не отображается на консоли. Этот вызов будет блокироваться, если нажатие клавиши еще недоступно, но не будет ждать, пока будет нажата Enter. Если нажатой клавишей была специальная функциональная клавиша, это вернет '\000' или '\xe0'; следующий вызов вернет код клавиши. Нажатие клавиши Control-C не может быть прочитано с помощью этой функции.

msvcrt.getwch()

Вариант широких символов функции getch(), возвращающий значение Юникода.

msvcrt.getche()

Аналогично getch(), но нажатие клавиши будет отображаться, если оно представляет собой печатаемый символ.

msvcrt.getwche()

Вариант широких символов функции getche(), возвращающий значение Юникода.

msvcrt.putch(char)

Вывести строку байтов char на консоль без буферизации.

msvcrt.putwch(unicode_char)

Вариант широких символов функции putch(), принимающий значение Юникода.

msvcrt.ungetch(char)

Принудить строку байтов char к “возврату” в буфер консоли; это будет следующий символ, прочитанный функциями getch() или getche().

msvcrt.ungetwch(unicode_char)

Вариант широких символов функции ungetch(), принимающий значение Юникода.

Другие функции

msvcrt.heapmin()

Принудительно заставить кучу malloc() очистить себя и вернуть неиспользуемые блоки операционной системе. При ошибке генерируется OSError.

© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/library/msvcrt.html

Spec-Zone.ru

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