我有两个Python程序,一个是IRC bot,使用套接字连接到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)
有没有办法在不使用模块的情况下实现这一目标?这两个程序应该是分开的。
答案 0 :(得分:2)
虽然您可以使用几十种方式进行通信,并且您没有提供任何上下文或要求,但我认为您正在开发一个小项目。我建议你使用 rpc (远程过程调用)。使用rpc,您可以调用另一个应用程序的Python函数,就像它是一个本地可用的函数一样。查看一些Python的rpc库,比如http://www.zerorpc.io/,这对你的用例来说已经足够了。
使用rpc有一些缺点,例如,您可以在this question的答案中阅读,但如果范围有限,我认为这是实现您的最简单,非黑客的方法之一目标
答案 1 :(得分:0)
假设两个程序都在同一目录中,您可以使用import
例如,考虑一个文件a.py
。要将其导入另一个文件b.py
,请使用import a
然后使用a.something
访问文件a.py
中定义的内容
答案 2 :(得分:-1)