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(), возвращающий значение Юникода.
-
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.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/library/msvcrt.html