Spec-Zone.ru › Python 3.12

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(), возвращающий значение Юникода.

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.

msvcrt.CRT_ASSEMBLY_VERSION

Версия сборки CRT из файла заголовка crtassem.h.

msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN

Токен общедоступного ключа сборки VC из файла заголовка crtassem.h.

msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX

Префикс имени сборки библиотек из файла заголовка crtassem.h.

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

Spec-Zone.ru

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