msvcrt — Корисні процедури із середовища виконання MS VC++


Ці функції надають доступ до деяких корисних можливостей на платформах Windows. Деякі модулі вищого рівня використовують ці функції для створення реалізацій Windows своїх служб. Наприклад, модуль getpass використовує це в реалізації функції getpass().

Додаткову документацію щодо цих функцій можна знайти в документації API платформи.

Модуль реалізує як звичайний, так і широкий варіанти char API консолі вводу-виводу. Звичайний API працює лише з символами ASCII і обмежено використовується для інтернаціоналізованих програм. Широкий char API слід використовувати, де це можливо.

Змінено в версії 3.3: Операції в цьому модулі тепер викликають OSError там, де було викликано IOError.

Операції з файлами

msvcrt.locking(fd, mode, nbytes)

Lock part of a file based on file descriptor fd from the C runtime. Raises OSError on failure. The locked region of the file extends from the current file position for nbytes bytes, and may continue beyond the end of the file. mode must be one of the LK_* constants listed below. Multiple regions in a file may be locked at the same time, but may not overlap. Adjacent regions are not merged; they must be unlocked individually.

Викликає подію аудиту 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.get_osfhandle(fd)

Повертає дескриптор файлу для дескриптора файлу fd. Викликає OSError, якщо fd не розпізнається.

Викликає подію аудиту msvcrt.get_osfhandle з аргументом 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()

Force the malloc() heap to clean itself up and return unused blocks to the operating system. On failure, this raises OSError.

msvcrt.CRT_ASSEMBLY_VERSION

The CRT Assembly version, from the crtassem.h header file.

msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN

The VC Assembly public key token, from the crtassem.h header file.

msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX

The Libraries Assembly name prefix, from the crtassem.h header file.