首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Pyro4获取系统信息

使用Pyro4获取系统信息
EN

Stack Overflow用户
提问于 2012-08-29 23:02:45
回答 1查看 371关注 0票数 1

我曾尝试使用Pyro4进行自动测试,但现在我对Pyro4的一些功能感到困惑。是否存在通过Pyro4对象获取系统信息的方法。

在我的想法中,我公开了一个可以获取系统信息的pyro对象,远程机器可以使用这个对象来显示系统信息。但是在我的代码中,远程机器总是显示服务器信息。我想我误解或误用了Pyro4

对于这个愚蠢的问题我很抱歉,我是Pyro4的新手。以下是我的示例代码。服务器公开pyro对象

代码语言:javascript
复制
# Server.py
#! /usr/bin/env python

import Pyro4
import os

class Ex(object):
    def run(self):
        print os.uname()


if __name__ == "__main__":
    daemon = Pyro4.Daemon()
    ns     = Pyro4.locateNS()
    uri = daemon.register(Ex())
    ns.register("ex", uri)
    print uri
    daemon.requestLoop()

和使用Pyro对象的客户端

代码语言:javascript
复制
# Remote
#! /usr/bin/env python

import Pyro4
if __name__ == "__main__":
    uri = raw_input("input the uri> ")
    fn = Pyro4.Proxy(uri)
    fn.run()

附注:我知道我可以在客户端获取操作系统信息,但我想使用Pyro对象来获取信息,而不是客户端自己来做这件事。

EN

回答 1

Stack Overflow用户

发布于 2012-08-30 10:36:35

我知道答案了!

只是使用Pyro4.utils.flame。该模块可以提供使用远程机器上的模块或函数的能力。

以下是示例代码:

远程机器

代码语言:javascript
复制
python -Wignore -m Pyro4.utils.flameserver --host <yourIP> --port 9999

主办方

代码语言:javascript
复制
#! /usr/bin/env python

import Pyro4.utils.flame

if __name__ == "__main__":
    flame = Pyro4.utils.flame.connect("192.168.16.29:64024")
    os = flame.module("os")
    print os.listdir('.')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12180969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档