与帕拉米科永远等待

时间:2012-10-30 14:23:21

标签: python paramiko

  

可能重复:
  Running interactive commands in 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()

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

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果paramiko不是严格要求,您可以fabric考虑​​fexpect

from fexpect import expect, expecting, run 

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

with expecting(prompts):
    run('c://test.bat')