0

首先,我是 Python 新手。现在我的问题是这样的:

我有一个在远程机器上运行的回调脚本,它发送一些数据并在本地机器上运行一个脚本,处理该数据并写入文件。现在我的另一个脚本在本地需要一个一个处理文件数据,如果完成的话从文件中删除它们。问题是文件可能会不断更新。我如何对工作进行 schyncronize 以便它不会弄乱我的文件。如果可以以更好的方式完成相同的工作,请建议我。

4

2 回答 2

1

我建议您查看似乎比文件更适合您的目的的命名管道或套接字。如果它真的只是在这两个应用程序之间,并且您可以控制两者的源代码。

例如,在 unix 上,您可以创建一个类似的管道(参见os.mkfifo):

import os
os.mkfifo("/some/unique/path")

然后像文件一样访问它:

dest = open("/some/unique/path", "w")  # on the sending side
src = open("/some/unique/path", "r")   # on the reading side

数据将在您的进程之间排队。这确实是先进先出,但它的行为就像一个文件(大部分)。

如果你不能像这样使用命名管道,我建议在socket模块中使用本地主机上的 IP 套接字,最好是 DGRAM 套接字,因为你不需要在那里进行一些连接处理。您似乎已经知道如何建立网络。

于 2012-07-04T16:18:18.967 回答
0

我建议使用其事务允许并发处理的数据库。

于 2012-07-04T15:58:47.067 回答