使用Python Paramiko执行命令后,如何保存结果?
如下所示,是否可以保存结果?原因是,在第二和第三stdout.read()处我无法达到结果。
import paramikoimport 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