使用 Python 3.x 打印实时 SSH 输出

Mik*_*ikG 3 python ssh python-3.x

我有一个脚本,可以通过 SSH 从 Windows7 连接到远程 ubuntu 服务器并执行命令。该脚本在命令执行并完成后一次性将 Ubuntu 命令输出返回到 Windows cmd 窗口。我只是想知道下面的脚本中是否可以返回实时 SSH 输出,或者我是否总是必须等待命令完成才能看到输出。

这是我的工作代码:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
host = '9.10.11.12'
port, user, password = 22, 'usr', 'pass'
ssh.connect(host, port,  user, password)
stdin,stdout,stderr = ssh.exec_command("cd /opt/app && ./app-tool some_command")

for line in stdout.readlines():
    print(line)

ssh.close()
Run Code Online (Sandbox Code Playgroud)

或者,如果 SSH 无法实现这一点,我该如何在上述脚本中引入旋转光标图标?谢谢。

Mik*_*ikG 5

最后弄清楚了,我在下面的行中使用了“iter”方法:

for line in iter(stdout.readline,""): 
    print(line)
Run Code Online (Sandbox Code Playgroud)