python 高效编程

来源:互联网 发布:数控电脑编程软件 编辑:程序博客网 时间:2024/05/02 04:38

4. 创建一次性的、快速的小型web服务

有时候,我们需要在两台机器或服务之间做一些简便的、很基础的RPC之类的交互。我们希望用一种简单的方式使用B程序调用A程序里的一个方法——有时是在另一台机器上。仅内部使用。

我并不鼓励将这里介绍的方法用在非内部的、一次性的编程中。我们可以使用一种叫做XML-RPC的协议 (相对应的是这个Python库),来做这种事情。

下面是一个使用SimpleXMLRPCServer模块建立一个快速的小的文件读取服务器的例子:

from SimpleXMLRPCServer import SimpleXMLRPCServer


def file_reader(file_name):


   with open(file_name, 'r') as f:

       return f.read()


server = SimpleXMLRPCServer(('localhost', 8000))

server.register_introspection_functions()


server.register_function(file_reader)


server.serve_forever()


客户端:

import xmlrpclib

proxy = xmlrpclib.ServerProxy('http://localhost:8000/')


proxy.file_reader('/tmp/secret.txt')



我们这样就得到了一个远程文件读取工具,没有外部的依赖,只有几句代码(当然,没有任何安全措施,所以只可以在家里这样做)。

0 0
原创粉丝点击