📜  用Python在后台编写文件

📅  最后修改于: 2022-05-13 01:55:09.360000             🧑  作者: Mango

用Python在后台编写文件

如何在Python后台写入文件?

这个想法是在Python中使用多线程。它允许我们在进行其他操作时在后台写入文件。在本文中,我们将制作一个名为“Asyncwrite.py”的文件来演示它。该程序添加两个数字,同时它还将在后台写入一个文件。请在您自己的系统上运行此程序,以便您可以看到制作的文件

Python3
# Python3 program to write file in
# background
 
# Importing the threading and time
# modules
import threading
import time
 
# Inheriting the base class 'Thread'
class AsyncWrite(threading.Thread):
 
    def __init__(self, text, out):
 
        # calling superclass init
        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()
 
        # waiting for 2 seconds after writing
        # the file
        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)
 
    # wait till the background thread is done
    background.join()
    print("Waited until thread was complete")
 
if __name__=='__main__':
    Main()


输出:

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

该程序将要求输入一个字符串并计算两个数字的总和,并在后台将“输入的字符串”写入名为“out.txt”的输出文件。检查“Asyncwrite.py”文件所在的目录存在,您还将找到一个名为“out.txt”的文件,其中存储了您的字符串。

目的:
在后台写入文件的一般目的是您可以在后台将数据添加到文件中,同时让程序在程序中执行另一个任务。例如。您可以将收到的用户输入写入文件,同时为同一用户执行另一项任务。

参考:

  • Python3 基础知识
  • Python3 中级主题