1

可能重复:
在 Paramiko 中运行交互式命令

我对 Python 很陌生。我正在尝试使用 paramiko 在远程计算机上运行批处理文件:

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("host", username="uname", password="pwd", allow_agent = False)
i, o, e = ssh.exec_command("c://test.bat")
print o.read()

问题是远程批处理文件在某个时候正在等待输入(暂停),所以我在读取命令之后被卡住了,什么也没有打印出来。

有什么建议么 ?

4

1 回答 1

0

如果 paramiko 不是严格要求,您可以考虑使用fexpect的织物

from fexpect import expect, expecting, run 

prompts = []
prompts += expect('What is your name?','John')

with expecting(prompts):
    run('c://test.bat')
于 2012-10-30T15:31:34.903 回答