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.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