2017-08-18 35 views
-1

我做了一些脚本。 我想返回标准输出到python的值。我怎样才能返回stdout价值python?

但我的脚本不工作。

下面是我的脚本。

import paramiko 
import sys 

from paramiko import AutoAddPolicy 

sip = raw_input('IP\n') 
sid = raw_input('ID\n') 
spass = raw_input('PW') 

client = paramiko.SSHClient() 
client.load_system_host_keys() 
client.set_missing_host_key_policy(AutoAddPolicy()) 
client.connect(hostname=sip, username=sid, password=spass) 

stdin, stdout, stderr = client.exec_command('hostname') 
s_info = stdout 
sys.stdout.close() 

client.close() 

print (s_info) 

我的脚本发生错误。

Traceback (most recent call last): File "test.py", line 17, in print (s_info) ValueError: I/O operation on closed file

回答

0

正如错误提到的那样,您正试图在已关闭流后写入流。在print function重定向到默认标准输出,并且您已经关闭,在这里sys.stdout.close()

为了它去上班,就发表评论或删除线

+0

收盘后怎么能说标准输出的价值? – KJ9