0

我正在努力使我的代码尽可能高效和简单。我想让我的 pexpect 命令变成 1 行:

当前命令(简化):

import pexpect
...
session=pexpect.spawn( 'ssh  %s@%s'%(un,ip), timeout)
session.expect(prompt, timeout)
session.sendline('ls')
session.expect(prompt)
print session.before

我想在我的 ssh 命令中完成这一切,但我返回了一个 pexpect 对象,有没有办法只返回输出字符串?

import pexpect
    ...
    print str(pexpect.spawn( 'ssh  %s@%s ls'%(un,ip), timeout))

有没有可能的方法来改变上面的代码工作?

我必须使用 pexpect 或标准 python 2.4,而不是 paramiko :(

4

1 回答 1

1

你想要read() 方法

p = pexpect.spawn('ssh  %s@%s ls'%(un,ip), timeout)
print(p.read())
于 2013-11-11T22:32:59.330 回答