Python Print Flush Method

Best way to Flush the Print Function’s Output

The print() function in Python automatically adds a newline character at the end of each output by default. However, there may be cases where you want to flush the output without adding a new line character.

You can flush the output buffer of the print() function by using the ‘flush‘ parameter in the print() function. The ‘flush‘ parameter is a Boolean value that specifies whether the output should be flushed immediately or not.

To flush the output buffer without adding a newline character, you can use the following syntax:

Python
print("Hello World", flush=True)

This will immediately flush the output buffer, without adding a newline character.

It’s important to note that flushing the output buffer can be resource-intensive and should be used judiciously.

About Flash Method

flush() is not a function, but a method that can be called on certain Python objects to force any pending data to be written or sent.

In the case of file objects, calling the flush() method will write any pending data to the file without closing the file. This can be useful when you want to ensure that all data written to a file is immediately visible to other programs that may be accessing the same file.

In the case of network sockets, calling the flush() method will force any pending data to be sent over the network. This can be useful when you want to ensure that all data sent over a network connection is immediately visible to the recipient.

It’s important to note that not all Python objects have a flush() method, and calling it on an object that doesn’t support it will raise an AttributeError.

Use Flush Method

You can use the flush() method in Python to force any pending data to be written or sent. Here are some examples of how to use the flush() method:

  1. Flushing Output to a File: To flush output to a file, you can open the file in write mode, write some data to it, and then call the flush() method to ensure that the data is written to the file immediately. Here is an example:
Python
# Open a file in write mode
f = open("output.txt", "w")

# Write some data to the file
f.write("Hello World")

# Flush the output to ensure that it is written to the file immediately
f.flush()

# Close the file
f.close()
  1. Flushing Output to a Network Socket: To flush output to a network socket, you can create a socket object, connect it to a remote server, and then call the flush() method to ensure that any pending data is sent over the network immediately. Here is an example:
Python
import socket

# Create a socket object
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Connect to a remote server
s.connect(("example.com", 80))

# Send some data over the socket
s.sendall(b"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n")

# Flush the output to ensure that any pending data is sent over the network immediately
s.flush()

# Close the socket
s.close()

Note that not all Python objects have a flush() method, and calling it on an object that doesn’t support it will raise an AttributeError.

Share The Tutorial With Your Friends
Twiter
Facebook
LinkedIn
Email
WhatsApp
Skype
Reddit

Check Our Ebook for This Online Course

Advanced topics are covered in this ebook with many practical examples.