Estas funciones brindan acceso a algunas capacidades útiles en plataformas Windows. Algunos módulos de nivel superior usan estas funciones para construir las implementaciones de Windows de sus servicios. por ejemplo, el getpass módulo utiliza esto en la implementación de la getpass() función.

Puede encontrar más documentación sobre estas funciones en la documentación de la API de la plataforma.

El módulo implementa las variantes de caracteres normales y anchos de la API de E/S de la consola. La API normal trata solo con caracteres ASCII y tiene un uso limitado para aplicaciones internacionalizadas. Siempre que sea posible, se debe utilizar la API de caracteres anchos.

Cambiado en la versión 3.3: Las operaciones en este módulo ahora generan OSError donde IOError se elevó.

Operaciones de archivos

msvcrt.locking(fd, mode, nbytes)

Bloquear parte de un archivo según el descriptor del archivo f.d. desde el tiempo de ejecución de C. aumenta OSError sobre el fracaso La región bloqueada del archivo se extiende desde la posición actual del archivo para nbytes bytes, y puede continuar más allá del final del archivo. modo debe ser uno de los LK_* constantes que se enumeran a continuación. Se pueden bloquear varias regiones de un archivo al mismo tiempo, pero no se pueden superponer. Las regiones adyacentes no se fusionan; deben desbloquearse individualmente.

levanta un evento de auditoriamsvcrt.locking con argumentos fd, mode, nbytes.

msvcrt.LK_LOCK
msvcrt.LK_RLCK

Bloquea los bytes especificados. Si los bytes no se pueden bloquear, el programa vuelve a intentarlo inmediatamente después de 1 segundo. Si después de 10 intentos no se pueden bloquear los bytes, OSError es elevado.

msvcrt.LK_NBLCK
msvcrt.LK_NBRLCK

Bloquea los bytes especificados. Si los bytes no se pueden bloquear, OSError es elevado.

msvcrt.LK_UNLCK

Desbloquea los bytes especificados, que deben haber sido previamente bloqueados.

msvcrt.setmode(fd, flags)

Establecer el modo de traducción de fin de línea para el descriptor de archivo f.d.. Para configurarlo en el modo de texto, banderas debiera ser os.O_TEXT; para binario, debería ser os.O_BINARY.

msvcrt.open_osfhandle(handle, flags)

Cree un descriptor de archivo de tiempo de ejecución de C desde el identificador de archivo encargarse de. los banderas el parámetro debe ser un OR bit a bit de os.O_APPEND, os.O_RDONLYy os.O_TEXT. El descriptor de archivo devuelto se puede utilizar como parámetro para os.fdopen() para crear un objeto de archivo.

levanta un evento de auditoriamsvcrt.open_osfhandle con argumentos handle, flags.

msvcrt.get_osfhandle(fd)

Devuelve el identificador de archivo para el descriptor de archivo f.d.. aumenta OSError si f.d. no esta reconocido.

levanta un evento de auditoriamsvcrt.get_osfhandle con argumento fd.

E/S de consola

msvcrt.kbhit()

Regreso True si una pulsación de tecla está esperando a ser leída.

msvcrt.getch()

Leer una pulsación de tecla y devolver el carácter resultante como un byte string. Nada se repite en la consola. Esta llamada se bloqueará si aún no hay una pulsación de tecla disponible, pero no esperará Ingresar ser presionado Si el presionado key era una funcion especial keyesto volverá '00' o 'xe0'; la próxima llamada devolverá el código clave. los Control-C pulsación de tecla no se puede leer con esta función.

msvcrt.getwch()

Amplia variante de char de getch()devolviendo un valor Unicode.

msvcrt.getche()

Similar a getch()pero se repetirá la pulsación de tecla si representa un carácter imprimible.

msvcrt.getwche()

Amplia variante de char de getche()devolviendo un valor Unicode.

msvcrt.putch(char)

Imprime el byte string carbonizarse a la consola sin almacenamiento en búfer.

msvcrt.putwch(unicode_char)

Amplia variante de char de putch()aceptando un valor Unicode.

msvcrt.ungetch(char)

Porque el byte string carbonizarse para ser “empujado hacia atrás” en el búfer de la consola; será el próximo personaje leído por getch() o getche().

msvcrt.ungetwch(unicode_char)

Amplia variante de char de ungetch()aceptando un valor Unicode.

Otras funciones

msvcrt.heapmin()

Forzar el malloc() heap para limpiarse y devolver los bloques no utilizados al sistema operativo. En caso de falla, esto aumenta OSError.