使用Python Paramiko执行命令后,如何保存结果?

如下所示,是否可以保存结果?原因是,在第二和第三stdout.read()处我无法达到结果。

import paramiko

import os

dssh = paramiko.SSHClient()

dssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

dssh.connect('192.168.1.250', username='root', password='pass')

import os

stdin, stdout, stderr = dssh.exec_command('ifconfig')

print stdout.read()

print ('Sleeping 2 seconds!')

os.system('sleep 2')

stdin, stdout, stderr = dssh.exec_command('ls -l')

print stdout.read()

print stdout.read()

print stdout.read()

dssh.close()

回答:

想象这stdout是一个普通文件。如果您file.read()第二次打电话,您希望得到什么?-除非文件已在外部更改,否则为空(空字符串)。

保存字符串:

output = stdout.read()

您可能会发现Fabric更易于使用(它用于paramiko在后台执行命令)。

以上是 使用Python Paramiko执行命令后,如何保存结果? 的全部内容, 来源链接: utcz.com/qa/404107.html

回到顶部