如何让两个Python程序进行通信?
我有两个Python程序,一个是IRC bot,使用套接字连接到IRC服务器。如何让两个Python程序进行通信?
该程序有一个循环,用于读取特定通道中的每个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)
有没有办法做到这一点不使用模块?这两个程序应该是分开的。
假设两个程序在同一目录下,你可以导入使用import
例如其他文件,认为某个文件a.py
。将其导入另一个文件b.py
使用import a
然后使用a.something
访问文件a.py
我现在正在这样做。但是,我需要它在运行时发生。 –
定义虽然你可以从字面上使用几十种交流的东西,你不提供上下文或要求,我认为你是一个小工作项目。我会建议你使用rpc(远程过程调用)。使用rpc可以调用另一个应用程序的Python函数,就好像它是本地可用的函数一样。查看Python的一些rpc库,例如http://www.zerorpc.io/,这对您的用例来说似乎绰绰有余。
使用rpc有一些缺点,例如你可以在this question的回答中看到,但如果范围有限,我认为这是实现你的目标的最简单的方法之一。
谢谢。我会研究它。 –
你在做什么? – RickyA
有很多方法可以做到这一点。您的特殊要求必须用于缩小范围。 – jpmc26
我正在使用Linux。 –