-1

所以我有两个脚本。Main.py,启动时运行,后台运行。每当用户调用它时运行的 otherscript.py。

main.py 处理一些数据,然后在 while 循环的每次迭代中将其写入文件。(此数据约为 ~ 1.17 mb),并删除旧数据。因此 data.txt 包含最新的处理数据。

otherscript.py 将读取 data.txt(当时的当前数据)然后对其进行处理。

主文件

while True:
    file = "data.txt"
    data = crunchData()
    file.write(data)

其他脚本.py

data = file.read("data.txt")
doSomethingWithData(data)

如何使两个脚本之间的连接过程更快?文件写入数据有其他选择吗?

4

1 回答 1

0

这是进程间通信(IPC)的问题。在您的情况下,您基本上有一个生产者进程和一个消费者进程。

如您所见,进行 IPC 的一种方法是使用文件。但是,如果有大量数据通过,它会很快使磁盘饱和。

如果您有一个直接的消费者想要一直读取所有数据,那么最简单的方法可能是管道- 至少如果您使用的是 unix 平台(mac、linux)。

如果您想要一个跨平台的解决方案,在这种情况下,我的建议是使用socket。基本上,你在生产者进程上打开一个网络端口,每次消费者连接时,你都会转储最新的数据。您可以在此处找到有关套接字的简单操作方法。

于 2013-10-26T19:18:01.050 回答