用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 中级主题