Использование Pyro4 для получения системной информации

Я пытаюсь использовать Pyro4 для автотестирования, но теперь я запутался в некоторых способностях для Pyro4. Существовал ли какой-либо метод для получения системной информации с помощью объекта Pyro4.

В моих идеях я раскрываю пирообъект, который может получить системную информацию, и удаленный компьютер может использовать этот объект для отображения системной информации. Но в моем коде удаленный компьютер всегда показывает информацию о сервере. Я думаю, что я неправильно понимаю или неправильно использую Pyro4

Извините за этот глупый вопрос, я новичок в Pyro4. Ниже приведен мой пример кода. Сервер выставляет пирообъект

# 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

# Remote
#! /usr/bin/env python

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

PS Я знаю, что могу получить информацию об ОС на стороне клиента, но я хочу использовать объект Pyro для получения информации, а клиент делает это сам.

1 ответ

Я получил ответ!

Просто использую Pyro4.utils.flame. Этот модуль может предоставлять возможность использования модуля или функции на удаленной машине.

Ниже приведен пример кода:

Удаленная машина

python -Wignore -m Pyro4.utils.flameserver --host <yourIP> --port 9999

Гостья

#! /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('.')
Другие вопросы по тегам