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 байт и может продолжаться до конца файла. режим должен соответствовать одной из констант LK_*, перечисленных ниже. Несколько областей в файле могут быть заблокированы одновременно, но не могут перекрываться. Смежные области не объединяются; они должны быть разблокированы по отдельности.

Создает auditing event 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. Чтобы перевести его в текстовый режим, флаги должны быть 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() для создания файлового объекта.

Создает auditing event msvcrt.open_osfhandle с аргументами handle, flags.

msvcrt.get_osfhandle(fd)

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

Создает auditing event 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

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

Вернуться на верх