在线文档教程

msvcrt

msvcrt - MS VC ++运行时的有用例程

这些功能可以访问Windows平台上的一些有用的功能。一些更高级别的模块使用这些函数来构建其服务的Windows实现。例如,该getpass模块在该getpass()函数的实现中使用它。

有关这些功能的更多文档可以在Platform API文档中找到。

该模块实现控制台I / O API的常规和宽字符变体。普通的API只处理ASCII字符,对于国际化应用程序的使用有限。应尽可能使用宽字符API。

1.文件操作

msvcrt.locking(fd, mode, nbytes)

基于C运行时的文件描述符fd锁定文件的一部分。IOError失败时提高。文件的锁定区域从当前文件位置延伸nbytes字节,并可能会延续到文件末尾。模式必须是LK_*下面列出的常量之一。文件中的多个区域可能同时被锁定,但可能不会重叠。相邻区域不合并; 他们必须单独解锁。

msvcrt.LK_LOCKmsvcrt.LK_RLCK

锁定指定的字节。如果字节无法锁定,程序会在1秒后立即再次尝试。如果在尝试10次后,字节不能被锁定,则会引发IOError

msvcrt.LK_NBLCKmsvcrt.LK_NBRLCK

锁定指定的字节。如果字节不能被锁定,则引发IOError

msvcrt.LK_UNLCK

解锁必须先前锁定的指定字节。

msvcrt.setmode(fd, flags)

设置文件描述符fd的行结束转换模式。要将其设置为文本模式,标志应该是os.O_TEXT; 对于二进制,它应该是os.O_BINARY

msvcrt.open_osfhandle(handle, flags)

从文件句柄句柄 创建一个C运行时文件描述符。该标志 参数应该是按位OR的os.O_APPENDos.O_RDONLYos.O_TEXT。返回的文件描述符可以用作os.fdopen()创建文件对象的参数。

msvcrt.get_osfhandle(fd)

返回文件描述符fd的文件句柄。如果fd无法识别则引发IOError

2. I / O控制台

msvcrt.kbhit()

如果按键等待读取,则返回true。

msvcrt.getch()

阅读按键并返回结果字符。没有任何东西被回应到控制台。如果按键不可用,此呼叫将被阻止,但不会等待Enter按下。如果按下的键是特殊功能键,则返回'\000''\xe0'; 下一次调用将返回键码。该Control-C按键无法使用该功能来读取。

msvcrt.getwch()

宽字符变体getch(),返回一个Unicode值。

2.6版本中的新功能。

msvcrt.getche()

getch()与之类似,但如果它代表可打印字符,则按键将被回显。

msvcrt.getwche()

宽字符变体getche(),返回一个Unicode值。

2.6版本中的新功能。

msvcrt.putch(char)

将字符打印到控制台而不缓冲。

msvcrt.putwch(unicode_char)

putch()接受Unicode值的宽字符变体。

2.6版本中的新功能。

msvcrt.ungetch(char)

导致字符char被“推回”到控制台缓冲区中; 它将成为由getch()或读取的下一个字符getche()

msvcrt.ungetwch(unicode_char)

ungetch()接受Unicode值的宽字符变体。

2.6版本中的新功能。

3.其他功能

msvcrt.heapmin()

强制malloc()堆清理自己并将未使用的块返回给操作系统。失败时,这会引发IOError