我做了两个应用程序:
当第一个应用找到链接时,如何向第二个应用发送通知或其他内容? 第二个应用程序必须连续监听第一个应用程序发送的数据。
我发现很少发表Queue
的帖子,但我真的不明白这项工作是什么。
有人可以用一个简单的例子来解释我如何在两个应用程序之间进行通信吗?
感谢' S
答案 0 :(得分:0)
您希望将一个文件另存为另一个文件导入的“模块”。这可以使用import
关键字来实现。例如,如果您将应用程序的第二部分命名为listener.py
,则可以在其他文件中键入import listener
(请记住将它们放在同一个文件夹中!)并从第二个文件中调用任何方法。 You can read more on Python modules here.
答案 1 :(得分:0)
有各种方法可以完成进程间通信,但到目前为止最简单的方法是使用文件系统。让你的蜘蛛将它的输出写入临时文件。完成后,将其移动到第二个进程定期轮询的文件夹中,当它找到工作时,然后进行处理。
spider
可能会像:
import tempfile, os
tmpname = ''
with tempfile.NamedTemporaryFile(delete=False) as tmp:
tmpname = tmp.name
tmp.write("spider output....\n")
tgt = os.path.join('incoming', os.path.basename(tmpname))
os.rename(tmpname, tgt)
第二个过程看起来像这样:
import time, os
while 1:
time.sleep(5)
for item in os.listdir('incoming'):
work_item = os.path.join('incoming', item)
with open(work_item) as fin:
# do something with item
os.unlink(work_item)
答案 2 :(得分:0)