How to write files in the background in Python?
The idea is to use multi-threading in Python. It allows us to write files in the background while working on another operation. In this article, we will make a ‘Asyncwrite.py’ named file to demonstrate it. This program adds two numbers while it will also write a file in the background. Please run this program on your own system so that you can see the file made
Python3
import threading
import time
class AsyncWrite(threading.Thread):
def __init__( self , text, out):
threading.Thread.__init__( self )
self .text = text
self .out = out
def run( self ):
f = open ( self .out, "a" )
f.write( self .text + '\n' )
f.close()
time.sleep( 2 )
print ( "Finished background file write to" ,
self .out)
def Main():
message = "Geeksforgeeks"
background = AsyncWrite(message, 'out.txt' )
background.start()
print ( "The program can continue while it writes" )
print ( "in another thread" )
print ( "100 + 400 = " , 100 + 400 )
background.join()
print ( "Waited until thread was complete" )
if __name__ = = '__main__' :
Main()
|
Output:
Enter a string to store: HelloWorld
The program can continue while it writes in another thread
100 + 400 = 500
Finished background file write to out.txt
Waited until thread was complete
The program will ask to enter a string and will calculate the sum of two numbers and in the background, it writes the ‘entered string’ to the output file named ‘out.txt’.Check your directory where your ‘Asyncwrite.py’ file exists and you’ll also find a file named ‘out.txt’ with your string stored in it.
Purpose:
The general purpose of writing files in the background is that you can add your data to a file in the background while making the program to do another task within the program. For eg. You can write the received input from the user to file while performing another task for the same user.
Reference: