首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过RPyC添加自定义模块

通过RPyC添加自定义模块
EN

Stack Overflow用户
提问于 2016-02-17 01:07:49
回答 1查看 608关注 0票数 1

我正在尝试将新模块添加到连接中。

我有以下文件: main.py UpdateDB.py

在UpdateDB中:

代码语言:javascript
复制
def UpdateDB():
    ...

在main.py中:

代码语言:javascript
复制
import UpdateDB
import rpyc

conn = rpyc.classic.connect(...)
rpyc.utils.classic.upload_package(conn, UpdateDB)
conn.modules.UpdateDB.UpdateDB()

我可以知道如何调用UpdateDB()函数。我得到了:

代码语言:javascript
复制
AttributeArror: 'module' object has no attribute 'UpdateDB'

也许我想做错了。因此,让我解释一下我要做的事情:我想创建一个到服务器的连接,并在其上运行UpdateDB.py文件中的一个函数。

EN

回答 1

Stack Overflow用户

发布于 2017-03-01 00:08:50

不确定如何在经典模式下完成此任务(不确定为什么要使用它),但这里是如何在较新的RPyC服务模式下完成任务。

脚本作为服务器运行:

代码语言:javascript
复制
import rpyc
from rpyc.utils.server import ThreadedServer


class MyService(rpyc.Service):
    def exposed_printSomething(self, a):
        print a
        print "printed on server!"
        return 'printed on client!'

if __name__ == '__main__':
    server = ThreadedServer(MyService, port=18812)
    server.start()

脚本作为客户端运行:

代码语言:javascript
复制
import rpyc

if __name__ == '__main__':
    conn = rpyc.connect("127.0.0.1", port=18812)
    print conn.root.printSomething("passed to server!")

服务器上的结果:

代码语言:javascript
复制
passed to server!
printed on server!

客户端上的结果:

代码语言:javascript
复制
printed on client!
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35438730

复制
相关文章

相似问题

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