这听起来像是Pyro4 package的工作。下面是一个基于他们的"Simple Example"的示例,其中包含一些额外的代码,可以自动启动名称服务器并通过网络进行监听。在
首先在每台机器上使用以下命令安装Pyro4:pip install pyro4
在服务器上,将此脚本另存为server.py,然后通过python server.py在终端窗口中运行它:
^{pr2}$
在客户端上,将其另存为client.py,并使用python client.py运行它:# saved as client.py
import Pyro4
import sys
print("What is your message?")
msg = sys.stdin.readline().strip()
# lookup object uri on name server and create a proxy for it
message_server = Pyro4.Proxy("PYRONAME:example.message")
# call method on remote object
message_server.show_message(msg)
请注意,将Pyro设置为通过网络监听存在安全风险。所以你应该先阅读他们的section on security,然后再继续写这篇文章。但这应该足够让你开始了。在
如果您想要一个只使用标准库的解决方案,可以查看a different answer中基于套接字的客户机-服务器设置。或者您可以考虑在服务器上设置一个flaskweb服务器,然后在客户机上使用urllib2来访问服务器并调用正确的操作(可能通过GET或POST请求)。但这些都比这更困难。在
另一个选择是使用不同的进程间通信包,如PyZMQ、redis、mpi4py或zmq_object_交换器。请参阅this question了解一些想法。在