Python:
Ghi vào lỗi chuẩn

Làm thế nào:

Để viết vào stderr trong Python:

import sys

print("Đây là một thông điệp bình thường.")
sys.stderr.write("Đây là một thông báo lỗi.\n")

Kết quả Mẫu:

Đây là một thông điệp bình thường.
Đây là một thông báo lỗi.

Lưu ý rằng trong khi print() thêm một dòng mới mặc định, sys.stderr.write() thì không—bạn cần phải bao gồm \n để bắt đầu một dòng mới.

Đi sâu hơn

Theo lịch sử, các luồng chuẩn được giới thiệu trong Unix. Có ba luồng: đầu vào chuẩn (stdin), đầu ra chuẩn (stdout), và lỗi chuẩn (stderr). Trong Python, module sys cung cấp quyền truy cập vào các luồng này. Trong khi stdout thường được sử dụng cho đầu ra chính của chương trình, stderr được dành riêng cho các thông báo lỗi và chẩn đoán.

Các lựa chọn khác cho sys.stderr.write() bao gồm sử dụng print() với đối số file:

print("Đây là một thông báo lỗi.", file=sys.stderr)

Điều này thực hiện tương tự nhưng tận dụng các tính năng thân thiện với người dùng của print(). Về cơ chế nội bộ, cả hai phương pháp cuối cùng đều thực hiện các lời gọi viết ở cấp độ hệ thống vào luồng tương ứng.

Xem thêm