[파이썬] `sys.stdout`: 표준 출력

In Python, sys.stdout is a built-in object that represents the standard output stream. It is used to write data to the console or terminal.

The sys.stdout object is an instance of the io.TextIOBase class, which provides the basic functionality for writing text to a file-like object. By default, sys.stdout points to the console or terminal where the Python script is executed.

To write data to sys.stdout, you can use the write() method. Here’s an example:

import sys

sys.stdout.write("Hello, ")
sys.stdout.write("world!")

Output:

Hello, world!

In the above code, we import the sys module and then call the write() method on sys.stdout to write the text “Hello, “ and “world!” separately. Since sys.stdout is connected to the console, the output appears in the console when the script is run.

Besides writing directly to sys.stdout, you can also redirect the output to a file instead of the console. This can be accomplished by assigning a file-like object to sys.stdout. Here’s an example:

import sys

with open("output.txt", "w") as f:
    sys.stdout = f
    print("This will be written to the file.")

# Restoring sys.stdout to the original value
sys.stdout = sys.__stdout__

In this code, we open a file named “output.txt” in write mode and assign it to sys.stdout. Subsequently, any text written to sys.stdout will be written to the file instead of the console. Remember to restore sys.stdout to its original value when done.

Using sys.stdout can be handy when you need to redirect output or interact with the console in your Python scripts. It provides a lot of flexibility for handling standard output.