msvcrt
— MS VC++ 執行時中的實用例程¶
這些函式提供了對 Windows 平臺上一些實用功能的訪問。一些更高階的模組使用這些函式來構建其服務的 Windows 實現。例如,getpass
模組在 getpass()
函式的實現中使用了這些函式。
有關這些函式的更多文件可在平臺 API 文件中找到。
該模組實現了控制檯 I/O API 的普通字元和寬字元變體。普通 API 只處理 ASCII 字元,對國際化應用程式的使用有限。應儘可能使用寬字元 API。
檔案操作¶
- msvcrt.locking(fd, mode, nbytes)¶
根據 C 執行時中的檔案描述符 fd 鎖定檔案的一部分。失敗時會丟擲
OSError
。檔案的鎖定區域從當前檔案位置開始,持續 nbytes 位元組,並且可以超出檔案末尾。mode 必須是下面列出的LK_*
常量之一。檔案的多個區域可以同時鎖定,但不能重疊。相鄰區域不會合並;它們必須單獨解鎖。引發一個 審計事件
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)¶
根據檔案控制代碼 handle 建立一個 C 執行時檔案描述符。flags 引數應為
os.O_APPEND
、os.O_RDONLY
、os.O_TEXT
和os.O_NOINHERIT
的按位或。返回的檔案描述符可用作os.fdopen()
的引數來建立檔案物件。檔案描述符預設可繼承。傳入
os.O_NOINHERIT
標誌可使其不可繼承。引發一個 審計事件
msvcrt.open_osfhandle
,引數為handle
、flags
。
控制檯 I/O¶
- msvcrt.kbhit()¶
如果有按鍵正在等待讀取,則返回非零值。否則返回 0。
- msvcrt.getch()¶
讀取一個按鍵並將其結果字元作為位元組字串返回。控制檯不回顯任何內容。如果按鍵尚未可用,此呼叫將阻塞,但不會等待 Enter 鍵被按下。如果按下的鍵是特殊功能鍵,這將返回
'\000'
或'\xe0'
;下一次呼叫將返回鍵碼。Control-C 鍵無法透過此函式讀取。
- msvcrt.putch(char)¶
將位元組字串 char 無緩衝地列印到控制檯。
其他函式¶
- msvcrt.set_error_mode(mode)¶
更改 C 執行時寫入可能導致程式終止的錯誤訊息的位置。mode 必須是下面列出的
OUT_*
常量之一或REPORT_ERRMODE
。返回舊設定,如果發生錯誤則返回 -1。僅在 Python 的除錯版本中可用。
- msvcrt.OUT_TO_DEFAULT¶
錯誤接收器由應用程式型別決定。僅在 Python 的除錯版本中可用。
- msvcrt.OUT_TO_STDERR¶
錯誤接收器是標準錯誤。僅在 Python 的除錯版本中可用。
- msvcrt.OUT_TO_MSGBOX¶
錯誤接收器是訊息框。僅在 Python 的除錯版本中可用。
- msvcrt.REPORT_ERRMODE¶
報告當前錯誤模式值。僅在 Python 的除錯版本中可用。
- msvcrt.CrtSetReportMode(type, mode)¶
指定 MS VC++ 執行時中
_CrtDbgReport()
生成的特定報告型別的目標。type 必須是下面列出的CRT_*
常量之一。mode 必須是下面列出的CRTDBG_*
常量之一。僅在 Python 的除錯版本中可用。
- msvcrt.CrtSetReportFile(type, file)¶
在使用
CrtSetReportMode()
指定CRTDBG_MODE_FILE
後,您可以指定檔案控制代碼以接收訊息文字。type 必須是下面列出的CRT_*
常量之一。file 應為您要指定的檔案控制代碼。僅在 Python 的除錯版本中可用。
- msvcrt.CRT_WARN¶
警告、訊息和不需要立即關注的資訊。
- msvcrt.CRT_ERROR¶
錯誤、無法恢復的問題和需要立即關注的問題。
- msvcrt.CRT_ASSERT¶
斷言失敗。
- msvcrt.CRTDBG_MODE_DEBUG¶
將訊息寫入偵錯程式的輸出視窗。
- msvcrt.CRTDBG_MODE_FILE¶
將訊息寫入使用者提供的檔案控制代碼。應呼叫
CrtSetReportFile()
來定義用作目標的檔案或流。
- msvcrt.CRTDBG_MODE_WNDW¶
建立訊息框以顯示訊息以及
Abort
、Retry
和Ignore
按鈕。
- msvcrt.CRTDBG_REPORT_MODE¶
返回指定 type 的當前 mode。
- msvcrt.CRT_ASSEMBLY_VERSION¶
CRT 彙編版本,來自
crtassem.h
標頭檔案。
- msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN¶
VC 彙編公鑰令牌,來自
crtassem.h
標頭檔案。
- msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX¶
庫彙編名稱字首,來自
crtassem.h
標頭檔案。