msvcrt --- Các thủ tục hữu ích từ thời gian chạy MS VC++


Các chức năng này cung cấp quyền truy cập vào một số khả năng hữu ích trên nền tảng Windows. Một số mô-đun cấp cao hơn sử dụng các chức năng này để xây dựng các triển khai Windows cho các dịch vụ của chúng. Ví dụ: mô-đun getpass sử dụng điều này trong việc triển khai hàm getpass().

Bạn có thể tìm thêm tài liệu về các chức năng này trong tài liệu Nền tảng API.

Mô-đun này triển khai cả biến thể char thông thường và char rộng của api I/O trên bảng điều khiển. API bình thường chỉ xử lý các ký tự ASCII và được sử dụng hạn chế cho các ứng dụng quốc tế hóa. Nên sử dụng char API rộng bất cứ khi nào có thể.

sẵn có: Windows.

Thay đổi trong phiên bản 3.3: Các hoạt động trong mô-đun này hiện nâng cao OSError trong đó IOError được nâng lên.

Hoạt động tập tin

msvcrt.locking(fd, mode, nbytes)

Khóa một phần của tệp dựa trên bộ mô tả tệp fd từ thời gian chạy C. Tăng OSError khi thất bại. Vùng bị khóa của tệp mở rộng từ vị trí tệp hiện tại đối với byte nbytes và có thể tiếp tục vượt ra ngoài phần cuối của tệp. mode phải là một trong các hằng số LK_* được liệt kê bên dưới. Nhiều vùng trong một tệp có thể bị khóa cùng lúc nhưng không được chồng chéo. Các vùng liền kề không được hợp nhất; chúng phải được mở khóa riêng lẻ.

Tăng một auditing event msvcrt.locking với các đối số fd, mode, nbytes.

msvcrt.LK_LOCK
msvcrt.LK_RLCK

Khóa các byte được chỉ định. Nếu không thể khóa byte, chương trình sẽ thử lại ngay sau 1 giây. Nếu sau 10 lần thử mà không thể khóa được byte thì OSError sẽ được nâng lên.

msvcrt.LK_NBLCK
msvcrt.LK_NBRLCK

Khóa các byte được chỉ định. Nếu không thể khóa byte, OSError sẽ được nâng lên.

msvcrt.LK_UNLCK

Mở khóa các byte được chỉ định, vốn phải bị khóa trước đó.

msvcrt.setmode(fd, flags)

Đặt chế độ dịch cuối dòng cho bộ mô tả tệp fd. Để đặt nó ở chế độ văn bản, flags phải là os.O_TEXT; đối với nhị phân, nó phải là os.O_BINARY.

msvcrt.open_osfhandle(handle, flags)

Tạo bộ mô tả tệp thời gian chạy C từ phần xử lý tệp handle. Tham số flags phải là OR theo bit của os.O_APPEND, os.O_RDONLY, os.O_TEXTos.O_NOINHERIT. Bộ mô tả tệp được trả về có thể được sử dụng làm tham số cho os.fdopen() để tạo đối tượng tệp.

Bộ mô tả tập tin có thể kế thừa theo mặc định. Chuyển cờ os.O_NOINHERIT để làm cho nó không thể kế thừa được.

Tăng một auditing event msvcrt.open_osfhandle với các đối số handle, flags.

msvcrt.get_osfhandle(fd)

Trả về phần xử lý tệp cho bộ mô tả tệp fd. Tăng OSError nếu fd không được nhận dạng.

Tăng một auditing event msvcrt.get_osfhandle với đối số fd.

Bảng điều khiển I/O

msvcrt.kbhit()

Trả về giá trị khác 0 nếu phím nhấn đang chờ đọc. Ngược lại trả về 0.

msvcrt.getch()

Đọc một lần nhấn phím và trả về ký tự kết quả dưới dạng chuỗi byte. Không có gì được lặp lại với bảng điều khiển. Cuộc gọi này sẽ chặn nếu chưa có phím nhấn nhưng sẽ không đợi Enter được nhấn. Nếu phím được nhấn là phím chức năng đặc biệt, phím này sẽ trả về '\000' hoặc '\xe0'; cuộc gọi tiếp theo sẽ trả về mã khóa. Không thể đọc được phím bấm Control-C bằng chức năng này.

msvcrt.getwch()

Biến thể char rộng của getch(), trả về giá trị Unicode.

msvcrt.getche()

Tương tự như getch(), nhưng phím nhấn sẽ bị vang vọng nếu nó đại diện cho một ký tự có thể in được.

msvcrt.getwche()

Biến thể char rộng của getche(), trả về giá trị Unicode.

msvcrt.putch(char)

In chuỗi byte char ra bàn điều khiển mà không cần đệm.

msvcrt.putwch(unicode_char)

Biến thể char rộng của putch(), chấp nhận giá trị Unicode.

msvcrt.ungetch(char)

Làm cho chuỗi byte char bị "đẩy lùi" vào bộ đệm của bàn điều khiển; nó sẽ là ký tự tiếp theo được đọc bởi getch() hoặc getche().

msvcrt.ungetwch(unicode_char)

Biến thể char rộng của ungetch(), chấp nhận giá trị Unicode.

Các chức năng khác

msvcrt.heapmin()

Buộc vùng nhớ malloc() tự dọn dẹp và trả lại các khối không sử dụng cho hệ điều hành. Khi thất bại, điều này sẽ tăng OSError.

msvcrt.set_error_mode(mode)

Thay đổi vị trí nơi thời gian chạy C ghi thông báo lỗi về lỗi có thể kết thúc chương trình. mode phải là một trong các hằng số OUT_* được liệt kê bên dưới hoặc REPORT_ERRMODE. Trả về cài đặt cũ hoặc -1 nếu xảy ra lỗi. Chỉ có ở debug build of Python.

msvcrt.OUT_TO_DEFAULT

Lỗi chìm được xác định theo loại ứng dụng. Chỉ có ở debug build of Python.

msvcrt.OUT_TO_STDERR

Lỗi chìm là một lỗi tiêu chuẩn. Chỉ có ở debug build of Python.

msvcrt.OUT_TO_MSGBOX

Lỗi chìm là một hộp thông báo. Chỉ có ở debug build of Python.

msvcrt.REPORT_ERRMODE

Báo cáo giá trị chế độ lỗi hiện tại. Chỉ có ở debug build of Python.

msvcrt.CrtSetReportMode(type, mode)

Chỉ định đích hoặc các đích cho loại báo cáo cụ thể được tạo bởi _CrtDbgReport() trong thời gian chạy MS VC++. type phải là một trong các hằng số CRT_* được liệt kê bên dưới. mode phải là một trong các hằng số CRTDBG_* được liệt kê bên dưới. Chỉ có ở debug build of Python.

msvcrt.CrtSetReportFile(type, file)

Sau khi bạn sử dụng CrtSetReportMode() để chỉ định CRTDBG_MODE_FILE, bạn có thể chỉ định phần xử lý tệp để nhận văn bản tin nhắn. type phải là một trong các hằng số CRT_* được liệt kê bên dưới. file phải là tệp xử lý mà bạn muốn chỉ định. Chỉ có ở debug build of Python.

msvcrt.CRT_WARN

Cảnh báo, tin nhắn và thông tin không cần chú ý ngay lập tức.

msvcrt.CRT_ERROR

Lỗi, sự cố không thể khắc phục và sự cố cần được chú ý ngay lập tức.

msvcrt.CRT_ASSERT

Khẳng định thất bại.

msvcrt.CRTDBG_MODE_DEBUG

Viết thông báo vào cửa sổ đầu ra của trình gỡ lỗi.

msvcrt.CRTDBG_MODE_FILE

Viết thông báo vào một tập tin xử lý do người dùng cung cấp. CrtSetReportFile() nên được gọi để xác định tệp hoặc luồng cụ thể sẽ sử dụng làm đích.

msvcrt.CRTDBG_MODE_WNDW

Tạo một hộp thông báo để hiển thị thông báo cùng với các nút Abort, RetryIgnore.

msvcrt.CRTDBG_REPORT_MODE

Trả về mode hiện tại cho type đã chỉ định.

msvcrt.CRT_ASSEMBLY_VERSION

Phiên bản hội CRT, từ tệp tiêu đề crtassem.h.

msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN

Mã thông báo khóa công khai của VC Assembly, từ tệp tiêu đề crtassem.h.

msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX

Tiền tố tên Hội thư viện, từ tệp tiêu đề crtassem.h.