Trong Python, bất cứ khi nào chúng tôi sử dụng in (), văn bản được ghi vào python, sys.stdout, bất cứ khi nào input () được sử dụng, nó đến từ sys.stdin và bất cứ khi nào xảy ra ngoại lệ, nó được ghi vào sys.stderr. & Nbsp;sys.stdout, whenever input() is used, it comes from sys.stdin, and whenever exceptions occur it is written to sys.stderr.
Chúng tôi có thể chuyển hướng đầu ra của mã của chúng tôi sang một tệp khác ngoài stdout. Nhưng bạn có thể tự hỏi tại sao một người nên làm điều này? Lý do có thể là để giữ một bản ghi của đầu ra mã của bạn hoặc làm cho mã của bạn im lặng, tức là không gửi bất kỳ đầu ra nào đến stdout. Hãy cùng xem cách làm điều đó với các ví dụ dưới đây.
& nbsp; Python stderr là gì?
Tệp này xử lý nhận thông tin lỗi từ chương trình người dùng. Lỗi tiêu chuẩn trả về lỗi stderr. Chúng ta sẽ thấy các ví dụ khác nhau về việc sử dụng Stderr.
Phương pháp 1: Sử dụng Python Stderr Using Python stderr
Nó có thể so sánh với stdout ở chỗ nó tương tự in thẳng vào bảng điều khiển, nhưng sự khác biệt chính là nó chỉ in các ngoại lệ và thông báo lỗi, đó là lý do tại sao nó được gọi là lỗi tiêu chuẩn trong Python.
Python3
import sys
def print_to_stderr(*a):
printHello GeeksforGeeks0*Hello GeeksforGeeks2Hello GeeksforGeeks3Hello GeeksforGeeks4Hello GeeksforGeeks5
print_to_stderr(Hello GeeksforGeeks7Hello GeeksforGeeks8
Output:
Phương thức & nbsp; 2: & nbsp; sử dụng chức năng python sys.stderr.write ()
Khi được sử dụng ở chế độ tương tác, sys.stderr.write () hoàn thành nhiệm vụ tương tự như đối tượng mà nó đại diện, ngoại trừ nó cũng in số lượng chữ cái văn bản.
Python3
import sys
printHello GeeksforGeeks0import3Hello GeeksforGeeks8
printHello GeeksforGeeks0import7import8Hello GeeksforGeeks3Hello GeeksforGeeks4Hello GeeksforGeeks5
sys2sys3Hello GeeksforGeeks8
Output:
def print_to_stderr(*a):
Phương thức & nbsp; 2: & nbsp; sử dụng chức năng python sys.stderr.write ()
Python3
Khi được sử dụng ở chế độ tương tác, sys.stderr.write () hoàn thành nhiệm vụ tương tự như đối tượng mà nó đại diện, ngoại trừ nó cũng in số lượng chữ cái văn bản.
sys7sys8Hello GeeksforGeeks4def0Hello GeeksforGeeks8
Phương thức & nbsp; 3: Sử dụng đăng nhập python.warning & nbsp; function;
def5def6Hello GeeksforGeeks8
printHello GeeksforGeeks0print_to_stderr(0Hello GeeksforGeeks8
Output:
Error: Hello World GeeksforGeeksMột công cụ gói Python tích hợp & nbsp; được gọi là ghi nhật ký. Tệp có thể cung cấp chi tiết về phần nào của mã được chạy và bất kỳ vấn đề nào đã xảy ra.
import sys6
def2Hello GeeksforGeeks4 def4
Python stdout là gì?
Python3
import sys
def print_to_stderr(*a):
printHello GeeksforGeeks0*Hello GeeksforGeeks2Hello GeeksforGeeks3Hello GeeksforGeeks4*5
print_to_stderr(5Hello GeeksforGeeks7Hello GeeksforGeeks8
Output:
Phương thức & nbsp; 2: & nbsp; sử dụng chức năng python sys.stderr.write ()
Khi được sử dụng ở chế độ tương tác, sys.stderr.write () hoàn thành nhiệm vụ tương tự như đối tượng mà nó đại diện, ngoại trừ nó cũng in số lượng chữ cái văn bản.
Python3
Phương thức & nbsp; 3: Sử dụng đăng nhập python.warning & nbsp; function;
Output:
Hello GeeksforGeeksMột công cụ gói Python tích hợp & nbsp; được gọi là ghi nhật ký. Tệp có thể cung cấp chi tiết về phần nào của mã được chạy và bất kỳ vấn đề nào đã xảy ra.sys.stdout.write() function
import sys6
Python3
import sys
def print_to_stderr(*a):
printa):9
print 1Hello GeeksforGeeks3Hello GeeksforGeeks4*5
5
Output: