msvcrt– 来自MS VC ++运行时的有用例程


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

这些函数的更多文档可以在Platform API文档中找到.

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

在版本3.3中更改:此模块中的操作现在提升OSError其中IOError被提升.

 

文件操作

msvcrt.lockingfd, mode, nbytes
根据文件描述符fd从C运行时锁定文件的一部分。失败时提高OSError。文件的锁定区域从nbytes字节,并可能继续超出文件的末尾。mode必须是下面列出的LK_*常数之一。文件中的多个区域可能同时被锁定,但可能不会重叠。相邻区域未合并;它们必须单独解锁.
msvcrt.LK_LOCK
msvcrt.LK_RLCK
锁定指定的字节。如果无法锁定字节,则程序会在1秒后立即重试。如果在10次尝试之后,字节无法锁定,则OSError被提升.
msvcrt.LK_NBLCK
msvcrt.LK_NBRLCK
锁定指定的字节。如果字节无法锁定,OSError israised.
msvcrt.LK_UNLCK
解锁指定的字节,必须先前已被锁定.
msvcrt.setmode (fd, flags
设置文件描述符fd的行结束转换模式。要设置totext模式,flags应该是os.O_TEXT;对于二进制文件,它应该是os.O_BINARY.
msvcrt.open_osfhandlehandle, flags
从文件句柄handle创建一个C运行时文件描述符flags参数应该是os.O_APPEND, os.O_RDONLYos.O_TEXT的按位OR。返回的文件描述符可以用作参数os.fdopen()来创建文件对象.
msvcrt.get_osfhandle (fd
返回文件描述符的文件句柄fd。提高OSError如果fd不被认出来

 

控制台I / O

msvcrt.kbhit
如果按键等待读取,则返回true .
msvcrt.getch
读取按键并将结果字符作为字节串返回。没有任何内容回显到控制台。如果按键尚未可用,此调用将被阻止,但不会等待输入进行压缩。如果按下的键是一个特殊功能键,这将返回"\000""\xe0";下一个电话将返回键码. Control-C 使用此功能无法读取按键.
msvcrt.getwch()
getch()的宽字符变体,返回Unicode值.
msvcrt.getche
相近 getch(),如果它代表一个可打印的字符,那么按键将被回显.
msvcrt.getwche)
getche()的宽字符变体,返回一个Unicode值.
msvcrt.putchchar
打印字节串char到没有缓冲的控制台
msvcrt.putwchunicode_char
@的宽字符变体putch(),接受一个Unicode值.
msvcrt.ungetch (char)
因为字节串char被“推回”到控制台缓冲区;它将是getch()getche().
msvcrt.ungetwchunicode_char
读取的下一个字符ungetch()的宽字符变体,接受Unicode值

 

其他函数

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

评论被关闭。