使用paramiko,如何实时获取exec_command()的stdout而不是完成后?

时间:2016-03-11 16:11:54

标签: python paramiko

使用Python和paramiko,我有以下代码

(stdin, stdout, stderr) = self.client.exec_command(x)
b = stderr.readlines()
if b:
    for i in b:
        print i
a = stdout.readlines()
if a:
    for i in a:
        print i

我运行的命令大约需要15分钟,并向stdout输出稳定的更新,但在完成之前它不会在主机端打印。

有没有办法获得实时标准输出而不是等待?感谢。

1 个答案:

答案 0 :(得分:1)

重复拨打stdout.readlines()。如果缓冲区中有任何数据,它将触发刷新。