msvcrt — Användbara rutiner från MS VC++ runtime


Dessa funktioner ger tillgång till en del användbara funktioner på Windows-plattformar. Vissa moduler på högre nivå använder dessa funktioner för att bygga Windows-implementationer av sina tjänster. Modulen getpass använder till exempel detta i implementeringen av funktionen getpass().

Mer information om dessa funktioner finns i dokumentationen för Platform API.

Modulen implementerar både den normala varianten och wide char-varianten av konsolens I/O-api. Det normala API:et hanterar endast ASCII-tecken och är av begränsad nytta för internationaliserade applikationer. API:et för breda tecken bör användas när det är möjligt.

Ändrad i version 3.3: Operationer i denna modul ger nu upphov till OSError där IOError tidigare gav upphov till.

Filoperationer

msvcrt.locking(fd, mode, nbytes)

Låser en del av en fil baserat på filbeskrivaren fd från C-körtiden. Utlöser OSError om det misslyckas. Den låsta delen av filen sträcker sig från den aktuella filpositionen i nbytes bytes och kan fortsätta längre än till slutet av filen. mode måste vara en av de LK_*-konstanter som listas nedan. Flera regioner i en fil kan låsas samtidigt, men de får inte överlappa varandra. Angränsande regioner slås inte samman, utan måste låsas upp var för sig.

Utlöser en auditing-händelse msvcrt.locking med argumenten fd, mode, nbytes.

msvcrt.LK_LOCK
msvcrt.LK_RLCK

Låser de angivna bytena. Om bytena inte kan låsas försöker programmet omedelbart igen efter 1 sekund. Om bytena inte kan låsas efter 10 försök utlöses OSError.

msvcrt.LK_NBLCK
msvcrt.LK_NBRLCK

Låser de angivna byte. Om byte inte kan låsas kommer OSError att uppstå.

msvcrt.LK_UNLCK

Låser upp de angivna bytena, som måste ha varit låsta tidigare.

msvcrt.setmode(fd, flags)

Ställer in översättningsläget för radavslut för filbeskrivaren fd. För att ställa in det till textläge bör flags vara os.O_TEXT; för binärt bör det vara os.O_BINARY.

msvcrt.open_osfhandle(handle, flags)

Skapa en C runtime file descriptor från filhandtaget handle. Parametern flags bör vara ett bitvis ELLER av os.O_APPEND, os.O_RDONLY, os.O_TEXT och os.O_NOINHERIT. Den returnerade filbeskrivaren kan användas som en parameter till os.fdopen() för att skapa ett filobjekt.

Filbeskrivaren är ärftlig som standard. Passera os.O_NOINHERIT flagga för att göra den icke ärftlig.

Utlöser en auditing event msvcrt.open_osfhandle med argumenten handle, flags.

msvcrt.get_osfhandle(fd)

Returnerar filhandtaget för filbeskrivaren fd. Utlöser OSError om fd inte känns igen.

Utlöser en auditing event msvcrt.get_osfhandle med argument fd.

Konsol I/O

msvcrt.kbhit()

Returnerar ett värde som inte är noll om en knapptryckning väntar på att läsas. I annat fall returneras 0.

msvcrt.getch()

Läser en tangenttryckning och returnerar det resulterande tecknet som en byte-sträng. Ingenting ekas till konsolen. Detta anrop blockeras om en tangenttryckning inte redan är tillgänglig, men väntar inte på att Enter ska tryckas. Om den nedtryckta tangenten var en speciell funktionstangent kommer detta att returnera '\000' eller '\xe0'; nästa anrop kommer att returnera tangentkoden. Tangenttryckningen Control-C kan inte läsas med denna funktion.

msvcrt.getwch()

Wide char-variant av getch(), returnerar ett Unicode-värde.

msvcrt.getche()

Liknar getch(), men tangenttryckningen ekas om den representerar ett skrivbart tecken.

msvcrt.getwche()

Wide char-variant av getche(), returnerar ett Unicode-värde.

msvcrt.putch(char)

Skriv ut byte-strängen char till konsolen utan buffring.

msvcrt.putwch(unicode_char)

Wide char-variant av putch(), som accepterar ett Unicode-värde.

msvcrt.ungetch(char)

Byte-strängen char ”skjuts tillbaka” till konsolbufferten; den blir nästa tecken som läses av getch() eller getche().

msvcrt.ungetwch(unicode_char)

Wide char-variant av ungetch(), som accepterar ett Unicode-värde.

Övriga funktioner

msvcrt.heapmin()

Tvingar heapen malloc() att rensa upp sig själv och returnera oanvända block till operativsystemet. Om detta misslyckas uppstår OSError.

msvcrt.set_error_mode(mode)

Ändrar platsen där C-körtiden skriver ett felmeddelande för ett fel som kan avsluta programmet. mode måste vara en av OUT_*-konstanterna som listas nedan eller REPORT_ERRMODE. Returnerar den gamla inställningen eller -1 om ett fel inträffar. Endast tillgängligt i debug build av Python.

msvcrt.OUT_TO_DEFAULT

Felsänkningen bestäms av appens typ. Endast tillgänglig i debug build av Python.

msvcrt.OUT_TO_STDERR

Error sink är ett standardfel. Endast tillgängligt i debug build av Python.

msvcrt.OUT_TO_MSGBOX

Error sink är en meddelanderuta. Endast tillgänglig i debug build av Python.

msvcrt.REPORT_ERRMODE

Rapportera det aktuella värdet för felläget. Endast tillgängligt i debug build av Python.

msvcrt.CrtSetReportMode(type, mode)

Anger destinationen eller destinationerna för en viss rapporttyp som genereras av _CrtDbgReport() i MS VC++ runtime. type måste vara en av de CRT_*-konstanter som listas nedan. mode måste vara en av de CRTDBG_*-konstanter som anges nedan. Endast tillgänglig i debug build av Python.

msvcrt.CrtSetReportFile(type, file)

När du har använt CrtSetReportMode() för att ange CRTDBG_MODE_FILE, kan du ange filhandtaget för att ta emot meddelandetexten. type måste vara en av de CRT_*-konstanter som listas nedan. file bör vara det filhandtag som du vill ha angivet. Endast tillgängligt i debug build av Python.

msvcrt.CRT_WARN

Varningar, meddelanden och information som inte kräver omedelbar uppmärksamhet.

msvcrt.CRT_ERROR

Fel, problem som inte går att åtgärda och problem som kräver omedelbar åtgärd.

msvcrt.CRT_ASSERT

Felaktiga påståenden.

msvcrt.CRTDBG_MODE_DEBUG

Skriver meddelandet till debuggarens utdatafönster.

msvcrt.CRTDBG_MODE_FILE

Skriver meddelandet till ett filhandtag som användaren angett. CrtSetReportFile() bör anropas för att definiera den specifika fil eller ström som ska användas som destination.

msvcrt.CRTDBG_MODE_WNDW

Skapar en meddelanderuta för att visa meddelandet tillsammans med knapparna ”Avbryt”, ”Återgå” och ”Ignorera”.

msvcrt.CRTDBG_REPORT_MODE

Returnerar aktuellt läge för den angivna typen.

msvcrt.CRT_ASSEMBLY_VERSION

CRT Assembly-versionen, från huvudfilen crtassem.h.

msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN

VC Assembly offentliga nyckeltoken, från huvudfilen crtassem.h.

msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX

Prefixet för Libraries Assembly-namnet, från huvudfilen crtassem.h.