rpyc可以很方便实现远程方法调用, 而plumbum则可以实现在python中类似shell的方式编码:
具体实现代码如下:
Server.py
import rpyc from rpyc.utils.server import ThreadedServer from plumbum import local from plumbum.cmd import sh class CalculatorService(rpyc.Service): """根据路径和脚本名执行脚本 :param path: 路径 :param shn: 执行脚本名 """ def exposed_execute(self, path, shn): exec=sh[shn] with local.cwd(local.cwd / path): exec() return if __name__ == "__main__": server = ThreadedServer(service=CalculatorService, port=12105) server.start()
Client.py
import rpyc class ClientService(rpyc.Service): def exposed_foo(self): return "foo" conn = rpyc.connect("10.47.58.196", 12105) #脚本路径 path="/data/local/test" #脚本名 shn="echo.sh" #远程调用执行远程shell脚本 x = conn.root.execute(path, shn) conn.close()
将echo.sh脚本放在/data/local/test路径下,先远程启动Server.py,然后执行Client.py即可远程调用执行echo.sh脚本。
原文地址:https://www.cnblogs.com/cord/p/9226655.html
时间: 2024-10-13 10:15:52