【发布时间】:2017-11-21 06:11:16
【问题描述】:
我的python脚本:
#!/usr/bin/env python
import paramiko as ssh
import logging
client = ssh.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(ssh.AutoAddPolicy())
client.connect(TCP_IP, username="root", password=" ")
chan = client.get_transport().open_session()
chan.get_pty()
cmd = "mycommand"
chan.exec_command(cmd)
stdout = chan.recv(BUFFER_SIZE)
print stdout, len(stdout)
所以现在当我运行该脚本时,我得到了不同的输出。 原始输出长度为 2058 个字符。
但是当我像 ./aqu.py 这样运行脚本时,我只得到了 63 个字符的输出,而当我需要添加大量的 recv 来获取整个数据时。
当我在 python 解释器中运行这些指令时(输入 python 命令,然后一一输入命令)。我在单个recv 中获得完整的输出。
可能出了什么问题?
【问题讨论】:
标签: python linux shell paramiko channel