微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试在Python上模拟OpenSSH会话时遇到麻烦AttributeError:__exit __

如何解决尝试在Python上模拟OpenSSH会话时遇到麻烦AttributeError:__exit __

我当前正在尝试模拟和OpenSSH会话,因此在以下代码中,session.sendCommand(cmd)将始终返回固定值:

    with target.managed_ssh_session(as_root=True) as session:
        return value in session.sendCommand(cmd)

我正在使用以下内容

def test_create(mocked_target):
    session = Mock(OpSSH)
    session.sendCommand.return_value = NO_SUCH_FILE
    mocked_target.managed_ssh_session.return_value = session
    installed_package.protect(mocked_target)

然后出现以下错误

使用target.managed_ssh_session(as_root = True)作为会话: E AttributeError:退出

但是,如果我将测试代码替换为以下内容

    session = target.managed_ssh_session(as_root=True)
    result = value in session.sendCommand(cmd)
    session.close()
    return result

然后它就像一个魅力! 那么,为什么我对with ... as:有疑问?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。