msvcrt — Полезные функции из среды выполнения MS VC++
Эти функции предоставляют доступ к некоторым полезным возможностям на платформах Windows. Некоторые модули более высокого уровня используют эти функции для создания реализаций своих сервисов на Windows. Например, модуль getpass использует его в реализации функции getpass().
Дополнительную документацию по этим функциям можно найти в документации по API платформы.
Модуль реализует как обычные, так и широкие варианты API ввода-вывода консоли. Обычный API работает только с ASCII-символами и имеет ограниченное применение в международных приложениях. Широкий API следует использовать всегда, когда это возможно.
1. Операции с файлами
-
msvcrt.locking(fd, mode, nbytes) -
Блокирует часть файла на основе дескриптора файла fd из C-runtime. При ошибке генерирует
IOError. Заблокированный участок файла простирается от текущей позиции файла на nbytes байт и может продолжаться за пределы конца файла. mode должен быть одним из значенийLK_*перечисленных ниже. Одновременно могут быть заблокированы несколько участков в файле, но они не должны перекрываться. Смежные участки не объединяются; они должны быть разблокированы индивидуально.
-
msvcrt.LK_LOCK -
msvcrt.LK_RLCK -
Блокирует указанные байты. Если байты не могут быть заблокированы, программа сразу же пытается снова через 1 секунду. Если после 10 попыток байты не могут быть заблокированы, генерируется
IOError.
-
msvcrt.LK_NBLCK -
msvcrt.LK_NBRLCK -
Блокирует указанные байты. Если байты не могут быть заблокированы, генерируется
IOError.
-
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. При ошибке распознавания fd генерирует
IOError.
2. Ввод-вывод консоли
-
msvcrt.kbhit() -
Возвращает true, если нажатие клавиши ожидает считывания.
-
msvcrt.getch() -
Считывает нажатие клавиши и возвращает результат. Ничего не выводится на консоль. Этот вызов заблокируется, если нажатие клавиши ещё недоступно, но не будет ждать нажатия Enter. Если нажатой клавишей была специальная функциональная клавиша, это вернёт
'\000'или'\xe0'; следующий вызов вернёт код клавиши. Нажатие Control-C этой функцией не считывается.
-
msvcrt.getwch() -
Вариант широкого символа для
getch(), возвращающий значение Юникода.Добавлен в версии 2.6.
-
msvcrt.getche() -
Аналогично
getch(), но нажатие клавиши будет выведено на экран, если оно представляет собой печатаемый символ.
-
msvcrt.getwche() -
Вариант широкого символа для
getche(), возвращающий значение Юникода.Добавлен в версии 2.6.
-
msvcrt.putch(char) -
Выводит символ char на консоль без буферизации.
-
msvcrt.putwch(unicode_char) -
Вариант широкого символа для
putch(), принимающий значение Юникода.Добавлен в версии 2.6.
-
msvcrt.ungetch(char) -
Приводит к тому, что символ char «возвращается» в буфер консоли; он будет следующим символом, считанным функцией
getch()илиgetche().
-
msvcrt.ungetwch(unicode_char) -
Вариант широкого символа для
ungetch(), принимающий значение Юникода.Добавлен в версии 2.6.
3. Другие функции
-
msvcrt.heapmin() -
Принудительно заставляет кучу
malloc()очиститься и вернуть неиспользуемые блоки операционной системе. При ошибке генерируетсяIOError.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/msvcrt.html