Содержание страницы
msvcrt – полезные утилиты из MS VC++ runtime¶msvcrt – Useful routines from the MS VC++ runtime
Эти функции предоставляют доступ к некоторым полезным возможностям на платформах Windows.
Некоторые модули более высокого уровня используют эти функции для создания реализаций своих служб в Windows. Например, модуль getpass использует его в реализации функции getpass().
Дополнительную документацию по этим функциям можно найти в документации Platform API.
Модуль реализует как обычную, так и широкосимвольную версию консольного API ввода-вывода. Обычный API работает только с ASCII-символами и имеет ограниченное применение для интернационализированных приложений. Широкосимвольный API следует использовать везде, где это возможно.
Файловые операции¶File Operations
- 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) handle. Параметр flags должен быть побитовым ИЛИ значений
os.O_APPEND,os.O_RDONLYиos.O_TEXT. Возвращаемый файловый дескриптор можно использовать в качестве параметра дляos.fdopen(), чтобы создать файловый объект.Возбуждает событие аудита
msvcrt.open_osfhandleс аргументамиhandle,flags.
- msvcrt.get_osfhandle(fd)¶
Возвращает дескриптор файла (handle) для файлового дескриптора fd. Вызывает исключение
OSError, если fd не распознан.Вызывает событие аудита
msvcrt.get_osfhandleс аргументомfd.
Консольный ввод-вывод¶Console I/O
- msvcrt.kbhit()¶
Возвращает
True, если есть ожидающее нажатие клавиши.
- msvcrt.getch()¶
Читает нажатие клавиши и возвращает результирующий символ в виде байтовой строки. Ничего не выводится на консоль. Этот вызов блокируется, если нажатие клавиши ещё не доступно, но не будет ждать нажатия Enter. Если нажатая клавиша была специальной функциональной клавишей, то будет возвращено
'\000'или'\xe0'; следующий вызов вернет код клавиши. Нажатие Control-C не может быть прочитано этой функцией.
- msvcrt.getche()¶
Аналогично
getch(), но нажатие клавиши будет выведено на экран, если оно представляет печатный символ.
- msvcrt.putch(char)¶
Выводит байтовую строку char на консоль без буферизации.
Другие функции¶Other Functions
- 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.