我有一个脚本,该脚本将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()
另外,如果SSH无法做到这一点,我如何在上面的脚本中引入一个旋转的光标图标?谢谢。
最佳答案
最后弄清楚了,我在下面的行中使用了“iter”方法:
for line in iter(stdout.readline,""):
print(line)
关于python - 使用Python 3.x打印实时SSH输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37857859/