【发布时间】:2016-03-27 17:43:18
【问题描述】:
我有两个 Python 程序,一个是 IRC 机器人,使用套接字连接到 IRC 服务器。
这个程序有一个循环,从一个特定的通道读取每个 PRIVMSG。
第二个程序应该得到第一个程序输出的任何东西(在这种情况下是 PRIVMSG)并使用它运行函数。
所以,基本上是:
while 1:
data = irc.recv(2048)
if data.find("PRIVMSG " + current_channel + " :") != -1:
send_to_second_program(data)
第二个节目是
while 1:
data = get_from_first_program()
do_stuff(data)
有没有办法在不使用模块的情况下实现这一点?这两个程序应该是分开的。
【问题讨论】:
-
有很多方法可以做到这一点。必须使用您的特殊要求来缩小范围。
-
如果它们驻留在同一台机器上,请使用modules
-
@SiHa 这就是我现在正在做的事情。不过,我需要它在运行时发生。
-
请向我们展示一些代码来演示您的问题 - 了解如何编写 minimal reproducible example。目前无法回答您的问题,因为目前还不清楚您真正想要实现什么。你也可能问错了问题:)
-
如果它们需要是单独的进程,请考虑管道和信号。如果在不同的机器上(也许明天)sockets、rpc、REST...
标签: python sockets irc interprocess