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

标签 python python-3.x ssh

我有一个脚本,该脚本将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/

相关文章:

python - 如何使用 pandas 快速将数据框中的字符串更改为整数 ID?

python - 多索引答案 Python 3

Mercurial,通过 key 进行身份验证

python - 如何使用 Beautiful soup 和 python 获取团队文本和得分?

python - 尝试使用 BeautifulSoup 获取 NFL 统计表的某些部分

python - 从 pubmed 获取摘要

python - 迭代变量到下一个列表项

python - 如何将元组转换为元组列表?

bash - 使用 BASH 和 Expect 进行远程 SSH 和命令执行

ssh - 使用 pscp 命令时获取 "Command not found"