使用subprocess和rpyc在Python中将连接从方法传递到其他方法
尝试创建一个库,该库连接到Unix框,将此连接传递到下一个方法并运行shell脚本。我还在其他文件中调用这个方法。 python新手,请帮助 文件1:使用subprocess和rpyc在Python中将连接从方法传递到其他方法,python,oop,Python,Oop,尝试创建一个库,该库连接到Unix框,将此连接传递到下一个方法并运行shell脚本。我还在其他文件中调用这个方法。 python新手,请帮助 文件1: from file2 import * def start(): one=libs() one.connect() one.run() import rpyc class libs(): def connect(self): self.conn=rpyc.classic.
from file2 import *
def start():
one=libs()
one.connect()
one.run()
import rpyc
class libs():
def connect(self):
self.conn=rpyc.classic.connect("hostname")
self.remote=self.conn.modules.subprocess
return
def run(self):
p1="sh -vx /tmp/test.sh"
self.result=self.remote.Popen(p1,shell=True,stdout=remote.PIPE,stderr=remote.PIPE)
out,err=self.result.communicate()
print out,err
return out,err
文件2:
from file2 import *
def start():
one=libs()
one.connect()
one.run()
import rpyc
class libs():
def connect(self):
self.conn=rpyc.classic.connect("hostname")
self.remote=self.conn.modules.subprocess
return
def run(self):
p1="sh -vx /tmp/test.sh"
self.result=self.remote.Popen(p1,shell=True,stdout=remote.PIPE,stderr=remote.PIPE)
out,err=self.result.communicate()
print out,err
return out,err
我做错了什么,我正在尝试在这里实现OOPS。没有错误或输出,只是代码以0退出
我也尝试过将file2中的两个方法合并为一个,然后只在file1中调用一个方法
import rpyc
class libs():
p1="sh -vx /tmp/test.sh"
def connect(self,p1):
self.conn=rpyc.classic.connect("hostname")
self.remote=self.conn.modules.subprocess
self.result=self.remote.Popen(p1,shell=True,stdout=remote.PIPE,stderr=remote.PIPE)
out,err=self.result.communicate()
print out,err
return out,err
你试过先开始学习python吗 当你调用一个函数或方法或任何可调用的东西时,你需要括号
def start():
one=libs()
one.connect()
one.run()
你试过先开始学习python吗 当你调用一个函数或方法或任何可调用的东西时,你需要括号
def start():
one=libs()
one.connect()
one.run()
感谢您在提问时指出这是一个拼写错误,请更正。感谢您在提问时指出这是一个拼写错误,请更正。您是否直接从单个功能中尝试过?它有没有在那里的字,它是什么,目前的错误或问题?目前,这个问题相当广泛…没有错误,0不存在任何输出代码。
codedef connect(self):self.conn=rpyc.classic.connect(“主机名”)self.remote=self.conn.modules.subprocess p1=“sh-vx/tmp/test.sh”self.result=self.remote.Popen(p1,shell=True,stdout=remote.PIPE,stderr=remote.PIPE)out,err=self.result.communicate()打印输出、err返回、errcode
然后仅调用文件1中的一个方法远程系统上/tmp/test.sh
中的内容?您是否直接从一个函数中尝试过?它有没有在那里的字,它是什么,目前的错误或问题?目前,这个问题相当广泛…没有错误,0不存在任何输出代码。codedef connect(self):self.conn=rpyc.classic.connect(“主机名”)self.remote=self.conn.modules.subprocess p1=“sh-vx/tmp/test.sh”self.result=self.remote.Popen(p1,shell=True,stdout=remote.PIPE,stderr=remote.PIPE)out,err=self.result.communicate()打印输出、err返回、errcode
然后仅调用文件1中的一个方法远程系统上的/tmp/test.sh
中有什么?