Spec-Zone.ru › Python 3.5

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

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

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

Модуль реализует как стандартные, так и широкие варианты API ввода-вывода консоли. Стандартный API работает только с ASCII-символами и имеет ограниченное применение в международных приложениях. API широких символов следует использовать в тех случаях, где это возможно.

Изменено в версии 3.3: Операции в этом модуле теперь поднимают OSError, где ранее поднималась IOError.

1. Операции с файлами

msvcrt.locking(fd, mode, nbytes)

Блокирует часть файла на основе дескриптора файла fd из среды выполнения C. При неудаче поднимает OSError. Заблокированный участок файла простирается от текущей позиции файла на nbytes байт и может продолжаться за пределы конца файла. mode должен быть одним из LK_* констант, перечисленных ниже. Одновременно могут быть заблокированы несколько областей в файле, но они не должны перекрываться. Смежные области не объединяются; они должны быть разблокированы индивидуально.

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.get_osfhandle(fd)

Возвращает дескриптор файла для дескриптора файла fd. Поднимает OSError, если fd не распознан.

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

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

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

msvcrt.heapmin()

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

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

Spec-Zone.ru

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