xmlrpcserver implementation in python capable of registering an entire module?
我有一个系统,在这个系统中,代码位于访问远程系统的驱动程序上。我正在使用xmlrpcserver的simplexmlrpcserver实现,它工作得很好。函数和实例可以注册,但我认为不能注册整个模块。特别是,我想注册操作系统模块。这是simplexmlrpcserver的一种可能性,还是有其他实现允许这样做?
一种方法是迭代模块中的方法,并用
例如,使用此
服务器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from SimpleXMLRPCServer import SimpleXMLRPCServer import os server = SimpleXMLRPCServer(('localhost', 9000)) def list_contents(dir_name): return os.listdir(dir_name) for name, val in os.__dict__.items(): if callable(val): print"Registering" + name server.register_function(val, name) try: print 'Use Control-C to exit' server.serve_forever() except KeyboardInterrupt: print 'Exiting' |
顾客
1 2 3 4 | import xmlrpclib proxy = xmlrpclib.ServerProxy('http://localhost:9000') print 'os.listdir():', proxy.listdir('.') |