使用Python文件操作

时间:2013-10-26 18:58:12

标签: python

所以我有两个脚本。 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)

如何更快地处理两个脚本之间的连接?有文件写入数据的替代方法吗?

1 个答案:

答案 0 :(得分:0)

这是Inter-Process Communication (IPC)的问题。在您的情况下,您基本上有一个生产者流程和一个消费者流程。

正如您所发现的,执行IPC的一种方法是使用文件。但是,如果有大量数据通过,它会迅速使磁盘饱和。

如果你有一个想要一直读取所有数据的直接消费者,最简单的方法可能是pipe - 至少如果你在unix平台上(mac,linux) )。

如果您需要跨平台解决方案,我的建议就是使用socket。基本上,您在生产者进程上打开一个网络端口,并且每次使用者连接时,您都会转储最新数据。您可以在套接字here上找到简单的操作方法。