所以我有两个脚本。 Main.py,在启动时运行并在后台运行。 Otherscript.py,只要用户调用它就会运行。
main.py会破坏一些数据,然后在while循环的每次迭代中将其写入文件。 (此数据约为~1.17 mb),并删除旧数据。所以data.txt包含最新的数据。
otherscript.py将读取data.txt(当时的当前数据)然后用它做点什么。
main.py
while True:
file = "data.txt"
data = crunchData()
file.write(data)
otherscript.py
data = file.read("data.txt")
doSomethingWithData(data)
如何更快地处理两个脚本之间的连接?有文件写入数据的替代方法吗?
答案 0 :(得分:0)
这是Inter-Process Communication (IPC)的问题。在您的情况下,您基本上有一个生产者流程和一个消费者流程。
正如您所发现的,执行IPC的一种方法是使用文件。但是,如果有大量数据通过,它会迅速使磁盘饱和。
如果你有一个想要一直读取所有数据的直接消费者,最简单的方法可能是pipe - 至少如果你在unix平台上(mac,linux) )。
如果您需要跨平台解决方案,我的建议就是使用socket。基本上,您在生产者进程上打开一个网络端口,并且每次使用者连接时,您都会转储最新数据。您可以在套接字here上找到简单的操作方法。