35.2. msvcrt — Rotinas úteis do tempo de execução do MS VC++

Essas funções fornecem acesso a alguns recursos úteis nas plataformas Windows. Alguns módulos de nível superior usam essas funções para criar as implementações do Windows de seus serviços. Por exemplo, o módulo getpass usa isso na implementação da função getpass().

Mais documentação sobre essas funções pode ser encontrada na documentação da API da plataforma.

O módulo implementa as variantes normal e ampla de caracteres da API de E/S do console. A API normal lida apenas com caracteres ASCII e é de uso limitado para aplicativos internacionalizados. A API ampla de caracteres deve ser usada sempre que possível.

35.2.1. Operações com arquivos

msvcrt.locking(fd, mode, nbytes)

Lock part of a file based on file descriptor fd from the C runtime. Raises IOError 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.LK_LOCK
msvcrt.LK_RLCK

Locks the specified bytes. If the bytes cannot be locked, the program immediately tries again after 1 second. If, after 10 attempts, the bytes cannot be locked, IOError is raised.

msvcrt.LK_NBLCK
msvcrt.LK_NBRLCK

Locks the specified bytes. If the bytes cannot be locked, IOError is raised.

msvcrt.LK_UNLCK

Desbloqueia os bytes especificados, que devem ter sido bloqueados anteriormente.

msvcrt.setmode(fd, flags)

Defina o modo de conversão de final de linha para o descritor de arquivo fd. Para configurá-lo no modo de texto, flags deve ser os.O_TEXT; para binário, deve ser os.O_BINARY.

msvcrt.open_osfhandle(handle, flags)

Cria um descritor de arquivo em tempo de execução C a partir do identificador de arquivo handle. O parâmetro flags deve ser um OR bit a bit de os.O_APPEND, os.O_RDONLY e os.O_TEXT. O descritor de arquivo retornado pode ser usado como um parâmetro para os.fdopen() para criar um objeto de arquivo.

msvcrt.get_osfhandle(fd)

Return the file handle for the file descriptor fd. Raises IOError if fd is not recognized.

35.2.2. E/S de console

msvcrt.kbhit()

Return true if a keypress is waiting to be read.

msvcrt.getch()

Read a keypress and return the resulting character. Nothing is echoed to the console. This call will block if a keypress is not already available, but will not wait for Enter to be pressed. If the pressed key was a special function key, this will return '\000' or '\xe0'; the next call will return the keycode. The Control-C keypress cannot be read with this function.

msvcrt.getwch()

Variante com caractere largo de getch(), retornando um valor Unicode.

Novo na versão 2.6.

msvcrt.getche()

Semelhante a getch(), mas o pressionamento de tecla será repetido se representar um caractere imprimível.

msvcrt.getwche()

Variante com caractere largo de getche(), retornando um valor Unicode.

Novo na versão 2.6.

msvcrt.putch(char)

Print the character char to the console without buffering.

msvcrt.putwch(unicode_char)

Variante com caractere largo de putch(), retornando um valor Unicode.

Novo na versão 2.6.

msvcrt.ungetch(char)

Cause the character char to be “pushed back” into the console buffer; it will be the next character read by getch() or getche().

msvcrt.ungetwch(unicode_char)

Variante com caractere largo de ungetch(), retornando um valor Unicode.

Novo na versão 2.6.

35.2.3. Outras funções

msvcrt.heapmin()

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