当前位置: 首页 > 面试题库 >

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

巫马修为
2023-03-14
问题内容

如下所示,是否可以保存结果?原因是,在第二和第三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在后台执行命令)。



 类似资料:
  • 为什么/我的目标: 我有一个由pi组成的小型网状网络,每天大部分时间都在运行脚本。我想取消停机时间,但是代码有时会在连续循环3-4天后停止工作,(有时长达一周,代码才会出现错误并停止)。 每个节点上运行的脚本用“最后签入”字段更新mySQL数据库。 我希望用Java编写一个小型后台程序,它将在我的服务器上无限期运行,时不时地检查每个站点的“最后签入”,如果它注意到一个节点宕机,远程ssh进入该节点

  • 问题内容: 我想做这样的事情,我可以依次运行多个命令。 问题答案: 想通了,使用 。 例: 多行中的相同示例: 要么:

  • 2. Shell如何执行命令 2.1. 执行交互式命令 用户在命令行输入命令后,一般情况下Shell会fork并exec该命令,但是Shell的内建命令例外,执行内建命令相当于调用Shell进程中的一个函数,并不创建新的进程。以前学过的cd、alias、umask、exit等命令即是内建命令,凡是用which命令查不到程序文件所在位置的命令都是内建命令,内建命令没有单独的man手册,要在man手册

  • 嗨,我正试图在一台windows机器上使用PHP执行多个命令。我试过这个代码: PHP 使用新的 shell 执行每个命令,并在完成后将其关闭! 我知道每个“shell_exec”创建一个新的shell,并且控制等待直到命令执行完成。我怎样才能创建一个在后台保持打开的shell,直到我关闭它? 我不确定“proc_open”或“popen”是否有帮助? 更新当我尝试PROC_OPEN() 它只打印

  • 当在下面运行时,将打开代码提示符,并显示java版本信息。我想打印java版本信息。请帮帮我

  • 我正在处理我的一个项目。我正在windows机器上使用XAMPP开发该项目。这就是我面临的问题。我需要在服务器上执行shell脚本,并在网页上显示结果。问题是,大多数脚本都按预期运行,但我无法获得以下命令的输出:, ls, cat, pwd 因为这些命令返回给我一个空白数组。 我找不到确切的问题。