【发布时间】:2020-12-15 11:35:11
【问题描述】:
我正在尝试下面的代码 sn-p 在后台会话中使用 ssh 运行命令。但它导致“chan = ssh_transport.open_session()属性错误:'NoneType'对象没有属性'open_session'” 任何解决此错误的建议都会非常有帮助,谢谢。
def background(self, cmd, working_directory):
if hasattr(self, "bkg_sessions") is False:
self.bkg_sessions = {}
ssh_transport = self.paramiko_client.get_transport()
chan = ssh_transport.open_session()
chan.invoke_shell()
if working_directory:
chan.send(f'cd {working_directory}\n'.encode())
time.sleep(1)
chan.send(f'{cmd}\n'.encode())
self.bkg_sessions[chan] = {}
return chan
【问题讨论】:
-
根据报错信息,ssh_transp应该是None。你是否创建了paramiko_client的实例?而且我们也不知道这个变量是指什么。
-
请添加您提到的
self.paramiko_client -
@HarshanaSerasinghe, self.paramiko_client = 无,已分配给无
标签: python python-3.x ssh serial-port