msvcrt — Полезные функции из MS VC++ runtime
Эти функции предоставляют доступ к некоторым полезным возможностям в платформах Windows. Некоторые модули более высокого уровня используют эти функции для создания реализаций своих сервисов в Windows. Например, модуль getpass использует их в реализации функции getpass().
Дополнительную документацию по этим функциям можно найти в документации по API платформы.
Модуль реализует как обычные, так и широкие варианты API ввода-вывода консоли. Обычный API работает только с ASCII-символами и имеет ограниченное применение в интернационализированных приложениях. Следует использовать API широких символов, где это возможно.
34.2.1. Операции с файлами
-
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 не распознан.
34.2.2. Ввод-вывод консоли
-
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(), принимающий значение Юникода.
34.2.3. Другие функции
-
msvcrt.heapmin() -
Принудительно заставляет кучу
malloc()очиститься и возвращает неиспользуемые блоки операционной системе. При ошибке, поднимается исключениеOSError.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.6/library/msvcrt.html