stdout.readlines() 没有输出
No output given by stdout.readlines()
这是一个简单的代码,用于登录 linux 框,并对框上的资源执行 grep。我只需要能够查看我执行的命令的输出,但没有返回任何内容。代码没有报告任何错误,但没有写入所需的输出。
代码如下:
import socket
import re
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('linux_box', port=22, username='abc', password='xyz')
stdin, stdout, stderr = ssh.exec_command('grep xyz *.set')
output2 = stdout.readlines()
type(output2)
这是我得到的输出:
C:\Python34\python.exe C:/Python34/Paramiko.py
进程已完成,退出代码为 0
你实际上从来没有将任何东西打印到标准输出。
将最后一行更改为 print(output2)
应该可以正确打印值。
您的代码可能基于交互式 Python shell 实验,其中 return 最后执行命令的值隐式打印到标准输出。在非交互模式下,不会发生这种行为。这就是为什么您需要显式使用 print
函数。
这是一个简单的代码,用于登录 linux 框,并对框上的资源执行 grep。我只需要能够查看我执行的命令的输出,但没有返回任何内容。代码没有报告任何错误,但没有写入所需的输出。
代码如下:
import socket
import re
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('linux_box', port=22, username='abc', password='xyz')
stdin, stdout, stderr = ssh.exec_command('grep xyz *.set')
output2 = stdout.readlines()
type(output2)
这是我得到的输出:
C:\Python34\python.exe C:/Python34/Paramiko.py
进程已完成,退出代码为 0
你实际上从来没有将任何东西打印到标准输出。
将最后一行更改为 print(output2)
应该可以正确打印值。
您的代码可能基于交互式 Python shell 实验,其中 return 最后执行命令的值隐式打印到标准输出。在非交互模式下,不会发生这种行为。这就是为什么您需要显式使用 print
函数。