Spec-Zone.ru › Python 3.11

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–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.11/library/msvcrt.html

Spec-Zone.ru

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