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