msvcrt — Полезные функции из среды выполнения MS VC++
Эти функции предоставляют доступ к некоторым полезным возможностям на платформах Windows. Некоторые модули более высокого уровня используют эти функции для построения реализаций своих сервисов на Windows. Например, модуль getpass использует это в реализации функции getpass().
Дополнительную документацию по этим функциям можно найти в документации по API платформы.
Модуль реализует как стандартные, так и широкие варианты API ввода-вывода консоли. Стандартный API работает только с ASCII-символами и имеет ограниченное применение в международных приложениях. API с широкими символами следует использовать по возможности.
Изменено в версии 3.3: Операции в этом модуле теперь поднимают OSError, где раньше поднималась IOError.
Операции с файлами
-
msvcrt.locking(fd, mode, nbytes) -
Заблокировать часть файла, основанную на дескрипторе файла fd из среды C runtime. При ошибке поднимает
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 runtime из дескриптора файла handle. Параметр flags должен быть побитовым ИЛИ
os.O_APPEND,os.O_RDONLYиos.O_TEXT. Полученный дескриптор файла может быть использован в качестве параметра дляos.fdopen()для создания объекта файла.
-
msvcrt.get_osfhandle(fd) -
Возвращает дескриптор файла для дескриптора файла fd. Поднимает
OSError, если fd не распознан.
Ввод-вывод консоли
-
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–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.7/library/msvcrt.html