2017-08-18 34 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