在Python中从ssh连接接收流输出

时间:2013-08-19 20:02:43

标签: python ssh

我通过SSH和Python在服务器上远程运行脚本。此脚本查看日志文件,并根据遇到的每个日志条目返回一些信息。我遇到的问题是,虽然我的脚本在命中每个日志条目后立即吐出信息,但我的本地机器需要等待整个过程完成才能从ssh连接的标准输出读取行。

ssh = subprocess.Popen(cmd.split(' '), stdout=subprocess.PIPE)
with open(remote_ip+'.hits', 'w') as f:
  for line in ssh.stdout:
    print line

本质上,此代码最后一次打印所有结果。我想知道是否有一种方法可以打印出stdout的内容,因为它是在服务器上生成的。对不起,如果不清楚,如果有些含糊不清,我会尽力澄清。谢谢!

编辑:我还应该补充一点,我最好不要在没有任何外部软件包的情况下这样做,如果可能的话只需要2.6的内置模块。

0 个答案:

没有答案
相关问题