msvcrt
---来自MS VC++运行时的有用例程¶
这些功能提供了对Windows平台上一些有用功能的访问。一些高级模块使用这些函数来构建其服务的Windows实现。例如, getpass
模块在实现 getpass()
功能。
关于这些函数的更多文档可以在平台API文档中找到。
该模块实现了控制台I/O API的普通和宽字符变体。普通的API只处理ASCII字符,对于国际化应用程序的使用是有限的。尽可能使用宽字符API。
文件操作¶
- msvcrt.locking(fd, mode, nbytes)¶
基于文件描述符锁定文件的一部分 fd 从C运行时。引发
OSError
失败论。文件的锁定区域从当前文件位置扩展到 字节数 字节,并且可以在文件结尾之后继续。 mode 一定是LK_*
下面列出的常量。文件中的多个区域可以同时锁定,但不能重叠。相邻区域不会合并;它们必须单独解锁。提出一个 auditing event
msvcrt.locking
带着论据fd
,mode
,nbytes
.
- msvcrt.LK_UNLCK¶
解锁指定的字节,该字节必须以前已被锁定。
- msvcrt.setmode(fd, flags)¶
设置文件描述符的行尾转换模式 fd . 要将其设置为文本模式, flags 应该是
os.O_TEXT
;对于二进制文件,应该是os.O_BINARY
.
- msvcrt.open_osfhandle(handle, flags)¶
从文件句柄创建C运行时文件描述符 手柄 . 这个 flags 参数应为位或
os.O_APPEND
,os.O_RDONLY
和os.O_TEXT
. 返回的文件描述符可以用作os.fdopen()
创建文件对象。提出一个 auditing event
msvcrt.open_osfhandle
带着论据handle
,flags
.
- msvcrt.get_osfhandle(fd)¶
返回文件描述符的文件句柄 fd .引发
OSError
如果 fd 无法识别。提出一个 auditing event
msvcrt.get_osfhandle
带着论证fd
.
控制台输入输出¶
- msvcrt.kbhit()¶
返回
True
如果按键等待读取。
- msvcrt.getch()¶
读取一个按键并将结果字符作为字节字符串返回。控制台没有回音。如果按键不可用,此调用将被阻止,但不会等待 Enter 要按下。如果按下的键是特殊功能键,则返回
'\000'
或'\xe0'
;下次调用将返回密钥代码。这个 Control-C 使用此功能无法读取按键。
- msvcrt.putch(char)¶
打印字节字符串 char 到控制台而不进行缓冲。