python - Pxssh 重新连接 Python(预期)

标签 python pexpect

我需要使用 pxssh 在一个脚本中做不止一个连接。 尝试这样做:

import pxssh
ip = 'ip'
username = 'username'
password = 'password'
s = pxssh.pxssh()
s.login (ip, username, password)
s.sendline('command')
s.prompt()
print s.before
s.logout()
s.login(ip2, username, password)
etc

但是在第二个连接上出现错误:AssertionError: The pid member must be None. 每次只有一个连接通过。 如何让它发挥作用?

最佳答案

您只需要创建一个新的 pxssh 对象。 pxssh 对象的构造函数创建一个进程并生成 ssh。注销会断开与远程系统的连接,这会使连接无用但不会重置对象。像这样:

...
s.logout()
s.close()
s = pxssh.pxssh()
s.login(ip2, ...)

s.close() 不是绝对必要的,但这是一个好主意,否则,在原始对象被垃圾回收之前,底层文件描述符将不会关闭。

关于python - Pxssh 重新连接 Python(预期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25308482/

相关文章:

python - 当点击更改密码时是空白页但密码已更改django

javascript - 如何将 RxPy 数据流发送到前端 javascript

python - python 的 random.Random.seed 是如何工作的?

Python 打包 : wheels vs tarball (tar. gz)

python - 切片可能的空列表Python

Python pexpect 返回命令和命令的输出

python - 使用 pexpect 执行多个命令

python - 通过 Python 获取 MAPLE 的输出

python - pexpect中的问题(python3.3)

python - 如何以 sudo 用户身份执行 pexpect spawn 命令?